General

Profile

Eregon (Benoit Daloze)

  • Login: Eregon
  • Registered on: 07/30/2009
  • Last sign in: 11/13/2026

Issues

open closed Total
Assigned issues 2 74 76
Reported issues 35 211 246

Projects

Project Roles Registered on
Ruby Committer 08/02/2012

Activity

11/13/2026

08:26 PM Ruby Misc #22180: Provide official Windows (mswin) binary packages and a version manager
hsbt (Hiroshi SHIBATA) wrote:
> The mswin platform, which is what `ruby/ruby` CI actually builds and tests with MSVC has had no end-user distribution at all.
This is not quite accurate as there have been many efforts by @MSP-Greg (an...
Eregon (Benoit Daloze)

11/12/2026

11:39 AM Ruby Bug #22539 (Closed): Class#new shouldn't call refined initialize methods
Applied in changeset commit:git|db22451d7e1fcb04f033436fe099b0f0489d70d6.
----------
[Bug #22539] Do not apply refinements to the initialize call of opt_new
opt_new inlines the call to initialize in the caller's bytecode, which made
re...
Eregon (Benoit Daloze)
11:39 AM Ruby Revision db22451d (git): [Bug #22539] Do not apply refinements to the initialize call of opt_new
opt_new inlines the call to initialize in the caller's bytecode, which made
refinements of #initialize active at the call site of .new apply, unlike
Class#new (e.g. via #send) and Ruby <= 3.4.
Add the internal VM_CALL_IGNORE_REFINEMENTS...
Eregon (Benoit Daloze)
10:39 AM Ruby Feature #22501: Optimize `Hash.new` and `String.new` in `opt_new`
I made a PR to fix this: https://github.com/ruby/ruby/pull/19857
BTW, I think this should be `Bug`, not `Feature` since it's an unintentional incompatibility.
I think it may make sense to backport to Ruby 4.0, up to the branch mainta...
Eregon (Benoit Daloze)
10:31 AM Ruby Feature #14915: Deprecate String#crypt
+1 to deprecate and then remove `String#crypt`.
In my understanding it's already widely discouraged and known to have various security issues, so keeping it in Ruby exposes us to more vulnerabilities.
It's also not portable as mentione...
Eregon (Benoit Daloze)
10:20 AM Ruby Feature #21962: Add deep_freeze for recursive freezing
Regarding "Why not just ice_nine?" one more reason besides performance and "it belongs in the language, we shouldn't need a gem dependency to make constant values immutable",
is `ice_nine` doesn't work for T_DATA and notably `Set`, `Stru...
Eregon (Benoit Daloze)
08:21 AM Ruby Feature #21962: Add deep_freeze for recursive freezing
Some concrete use cases:
Here are some real-world examples of deep freezing objects other than Array, Hash and primitives.
They are user-defined objects, Structs, ASTs, config objects and so on.
### Value objects which deep-freeze...
Eregon (Benoit Daloze)

11/11/2026

08:37 PM Ruby Feature #22501: Optimize `Hash.new` and `String.new` in `opt_new`
To state the obvious: at least the interpreter and JIT should be consistent.
I think the interesting part is whether normal `Class#new` calls `initialize` with refinements or not.
From:
```ruby
class Foo
end
module R
refine Foo do
...
Eregon (Benoit Daloze)

11/10/2026

04:32 PM Ruby Bug #22521: `Ractor.shareable_proc` allows outer variables reassigned by loops, and silently keeps a stale value
I found a related case, which I added to https://github.com/ruby/ruby/pull/19802 as a second commit since it is the same analysis (and both changes touch the same code). A variable assigned only once in the source is considered never rea... Eregon (Benoit Daloze)

11/09/2026

07:22 PM Ruby Bug #22525 (Open): Ractor.shareable_proc sees nil for a block parameter of the method which was not read yet
When a shareable Proc reads a block parameter (`&b`) of the enclosing method, it gets `nil` if the method did not read `b` before. It does not raise `Ractor::IsolationError` even when the block is not shareable, and it loses the block ev... Eregon (Benoit Daloze)

Also available in: Atom