Here is a new proposal based on the feedback. For reading variable length data, conceptually it's very similar to the existing `IO#readline(sep, limit, chomp: false) → string`, except that the `sep` is not a String, but typically a byte...ntkme (Natsuki Natsume)
The current `String#unpack` has its signature as: ``` String#unpack(template, offset: 0, &block) ``` The concern for unbounded IO read can be potentially solved by having a `maxlen` option: ``` IO#unpack(template, maxlen = n...ntkme (Natsuki Natsume)
I would like to have ruby add `IO#unpack` and `IO#unpack1` that effectively does both `IO#read(...)` and `String#unpacking(...)` in one call. This can significantly improve the performance of consuming data in a variable-length encodi...ntkme (Natsuki Natsume)
> I wonder what is loading json before Bundler can load the Gemfile. Nothing is loading `json`, it's a misreporting issue due to the gemspec of the `json` being broken: https://bugs.ruby-lang.org/issues/21462 The broken gemspec con...ntkme (Natsuki Natsume)
This is causing ruby-dev-builder to fail in the past few days. E.g. https://github.com/ruby/ruby-dev-builder/actions/runs/15981482361/job/45076664970 Minimum reproduction: ``` # Gemfile source 'https://rubygems.org' gem 'json...ntkme (Natsuki Natsume)
@alanwu I'd like to request 3.2 backport as other GCC 15 fixes have been back ported e.g. https://bugs.ruby-lang.org/issues/21286ntkme (Natsuki Natsume)
For rubyinstaller2 the issue is fixed with 3.4.4 release, and the fix will be backported to 3.3.9 and 3.2.9 whenever they get released. For ruby/setup-ruby on windows, workaround has been applied for all older ruby versions that all ver...ntkme (Natsuki Natsume)
google-protobuf is also failing to compile native extension on windows ruby head and 3.4.4 with msys2 gcc 15. ``` In file included from D:/rubyinstaller-head-x64/include/ruby-3.5.0+1/ruby/defines.h:74, from D:/rubyinstaller-head-x64/inc...ntkme (Natsuki Natsume)
https://github.com/ruby/setup-msys2-gcc/pull/26#issuecomment-2877229861 The root cause is that the extension is compiled against a newer version of `libwinpthread-1.dll` and headers from msys2, but at the runtime ruby always load `$ruby...ntkme (Natsuki Natsume)