> What do you think? I'm trying to figure out whether this is even public API, as in, will this break under us in a couple years. ```c if (_res.nscount > 0) { res_nclose(&_res); _res.nscount = 0; // to make t...byroot (Jean Boussier)
Fix: https://github.com/ruby/json/issues/1038 Directly lift https://github.com/dryruby/json-canonicalization At least for now, implementing most of the logic in Ruby make it shareable between the 3 generator implementations, largely re...byroot (Jean Boussier)
> What do you think? I think I'd be worth trying for a preview (there was no 4.1.0preview this year?) as to see what the blast radius really is. Other than that, I wonder if one avenue could be to have this be a build flag first, a...byroot (Jean Boussier)
Applied in changeset commit:git|5c128f545b7d16f3fc8405b811fc5a04dcd73d8f. ---------- Deprecate RHASH_TBL [Feature #22232] Guaranteeing that any hash can be converted into an st_table is limiting the evolution of RHash. None of the pu...byroot (Jean Boussier)
[Feature #22232] Guaranteeing that any hash can be converted into an st_table is limiting the evolution of RHash. None of the public usages of `RHASH_TBL` were justified, they all had equivalent `rb_hash_*` public APIs to perform the s...byroot (Jean Boussier)
* [Feature #22395] `RubyVM::InstructionSequence.load_from_binary` to optionally accept `file` and `path` arguments like `compile` (byroot) * ISeq caching has a long live problem that ISeqs contain the source file path and realpath, ma...byroot (Jean Boussier)
### Context I'm trying to fix the long standing [Feature #17593] issue. In short, ISeq caching has a problematic limitation that the path and realpath of the source file is embedded in the iseq. Meaning that if you build your appl...byroot (Jean Boussier)
Not 100% sure it's the exact same issue, but the discussion on https://github.com/ruby/ruby/pull/18433#issuecomment-5679306710 may be of interest to you. Edit: Nevermind, I realized you are the same person :facepalm:byroot (Jean Boussier)
It's assignable from Ruby simply for the gem's own initialization, but it should never be re-assigned later. Fix: https://github.com/ruby/json/pull/1079 https://github.com/ruby/json/commit/cc32ef5cf5byroot (Jean Boussier)
Applied in changeset commit:git|c29739cb3ef483c215b0c13d30c96cc21b0f680b. ---------- Implement RubyVM::YJIT.max_compile_time_ns [Feature #22236] Allows to give a time budget to YJIT. When YJIT goes over the budget it pauses compilatio...byroot (Jean Boussier)