General

Profile

headius (Charles Nutter)

Issues

open closed Total
Assigned issues 0 23 23
Reported issues 20 95 115

Projects

Project Roles Registered on
Ruby Committer 12/13/2012

Activity

06/30/2026

03:35 PM Ruby Feature #22137: Change `Symbol#to_s` to return frozen strings
Related discussions in https://bugs.ruby-lang.org/issues/16150 where I proposed a way to request frozen strings from `to_s`. I've always been +1 for all immediate values that return the same string content every time to return frozen str... headius (Charles Nutter)

06/26/2026

06:18 PM Ruby Feature #22130: Add a new YARV instruction for a `String.new` fast path
Is your benchmark published somewhere? headius (Charles Nutter)

06/09/2026

02:12 PM Ruby Feature #22097: Add Proc#with_refinements
Thank you for considering JRuby! I will review your PR and also start a ruby-4.1 branch you can target. headius (Charles Nutter)

05/02/2026

12:43 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
Eregon (Benoit Daloze) wrote in #note-21:
> I confirmed with both @mame and @matz, and matz said it should be from `p` of `proc`.
So that means it will include the original call and all arguments in all cases, including multi-line ca...
headius (Charles Nutter)

04/28/2026

12:56 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> If I'm understanding you correctly, then what you would like for source_range for the example for foo and bar methods is then:
I don't claim to have any suggestion for HERE docs because of the disjoint problem you mentioned. But cle...
headius (Charles Nutter)
12:41 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> The only choice for Prism.find there is to return the ForNode
`for` syntax does not parse as a ForNode without the block, so the two are not separable. Calls do parse without the block and remain CallNode. A block is an argument to ...
headius (Charles Nutter)

04/26/2026

11:24 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> The example of define_method(:foo) { ... } was given
define_method is just a method call like any other. It should not be included in the range for the syntactic construct that is the block.
What about do..end with a huge piece of c...
headius (Charles Nutter)

04/18/2026

11:21 PM Ruby Bug #22007: Inconsistent type checking on rescue
byroot (Jean Boussier) wrote in #note-8:
> I suspect removing that limitation wouldn't prevent JITs from optimizing the overwhelming majority of `rescue` statements as they'd still only list one of a few classes.
Well, it wouldn't be...
headius (Charles Nutter)
03:54 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
Eregon (Benoit Daloze) wrote in #note-7:
> For the start position I think either is fine.
> ...
The `proc` part is irrelevant to the source of the block, and is only a method call receiver for a block argument. We wouldn't include any ...
headius (Charles Nutter)

04/17/2026

09:39 PM Ruby Bug #22007: Inconsistent type checking on rescue
I think the better fix would be to reject literal types that are clearly not going to match. Ideally, the only cases that should be admitted to a rescue would be constant accesses, or other expressions that could potentially resolve a ty... headius (Charles Nutter)

Also available in: Atom