This is a generalization of the optimization done in re.c as part of d0fbdb005cecd8513aeacb234365d71f9a9b521e. Code that deal with coderange can benefit significantly from avoiding that function call, assuming coderange is often already...byroot (Jean Boussier)
[Bug #21952] Solves the double-free or use after-free concern with boxes. Now entries can safely be used for copy-on-write. Also is likely necessary to make it save to read cvar from secondary ractors, as allowed since: ab32c0e690b805c...byroot (Jean Boussier)
I don't have a strong opinion here, but one argument I could see for inclusion in core is to optimize frozen constants, e.g. ```ruby SCHEMA = [ { type: :foo, tags: ["a", "b"] }, { type: :bar, tags: ["c", "d"] }, ... ].deep_...byroot (Jean Boussier)
Eregon (Benoit Daloze) wrote in #note-2: > I think any expression should be allowed and just call `===` on them. Agreed. To me `rescue` is just a shorthand for `rescue e; case e; when ` but that is strangely limited. I suspect rem...byroot (Jean Boussier)
Fix: https://github.com/ruby/json/issues/970 If the parsed exponent overflows a `int32_t` passing it to ryu is incorrect. We could pass it to `rb_cstr_to_dbl` but then Ruby will emit an annoying warning, instead we can coerce to `0.0` ...byroot (Jean Boussier)