General

Profile

headius (Charles Nutter)

Issues

open closed Total
Assigned issues 0 24 24
Reported issues 20 96 116

Projects

Project Roles Registered on
Ruby Committer 12/13/2012

Activity

10/09/2026

10:07 PM Ruby Feature #22274: Make `IO::Buffer` no longer experimental.
A clarification about JVM buffer behavior (as in JRuby):
> So having a GC move the internal backing memory around is a non-starter IMHO.
There's nothing problematic with movable buffer memory as long as the VM reaches a safe point ...
headius (Charles Nutter)

09/30/2026

06:36 AM Ruby Revision 4cc7490d (git): Avoid testing Ruby::Box if not defined
These tests are used by other implementations that have not yet
implemented the experimental Ruby::Box API. Accessing Ruby::Box
here prevents those implementations from running these tests even
though the non-Box parts would pass.
This ...
headius (Charles Nutter)

09/19/2026

11:58 AM Ruby Feature #17593: load_iseq_eval should override the ISeq path
Seems there new movement on related changes but I wanted to add some thoughts.
__FILE__ as syntax rather than method eliminates a bunch of side effect behavior that makes __dir__ troublesome:
* It needs access to the caller frame o...
headius (Charles Nutter)

09/18/2026

07:03 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
> I'd gently push back on this, because switching to a thread already does exactly that today, and has for 20 years:
This is not actually true. Your example works that way because a thread clones its block's immediate frame. If the fram...
headius (Charles Nutter)

09/17/2026

11:18 PM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
ioquatix (Samuel Williams) wrote in #note-24:
> @matz
> ...
It's a lovely idea but a very specific exception to introduce. These variables are specified to live in the nearest method frame, with no consideration for fiber locality. Lots ...
headius (Charles Nutter)

09/15/2026

02:18 PM Ruby Revision 16fd9867 (git): [ruby/net-protocol] Only require io/wait on Ruby versions earlier than 3.2
The io-wait library transitioned to core in 3.2 and is now an empty
and deprecated gem. Only require it if running on Ruby versions
earlier than 3.2.
https://github.com/ruby/net-protocol/commit/1f84c9c60b
headius (Charles Nutter)
02:18 PM Ruby Revision 95bd25ed (git): [ruby/resolv] Only require io/wait on Ruby versions earlier than 3.2
The io-wait library transitioned to core in 3.2 and is now an empty
and deprecated gem. Only require it if running on Ruby versions
earlier than 3.2.
https://github.com/ruby/resolv/commit/2b5db02843
headius (Charles Nutter)

09/13/2026

02:30 PM Ruby Revision fed732c8 (git): [ruby/io-wait] Remove extensions and fully deprecate the gem
The functionality of this gem was moved into core Ruby starting
with Ruby 3.2, and at this point both the C extension and the Java
extension define no additional classes or methods. This patch
fully removes both extensions, replacing the...
headius (Charles Nutter)

08/20/2026

07:14 PM Ruby Bug #22251: ObjectSpace::WeakMap#size can return a stale value
> Both Java's WeakHashMap and JRuby's variant clean references in size(), so there is no issue there:
But your "failing" example only runs a single GC, which may not always be sufficient to clear the reference, in which case the size ...
headius (Charles Nutter)

08/18/2026

04:39 PM Ruby Bug #22251: ObjectSpace::WeakMap#size can return a stale value
The implementation of WeakMap on JRuby probably behaves the same, because it uses weak references that are only cleaned along certain code paths.
As you (@eregon) know, the JVM GC will vacate weak references, but handling the now-dead...
headius (Charles Nutter)

Also available in: Atom