Dev meeting IS NOT a decision-making place. All decisions should be done at the bug tracker.
Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly.
Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
We will write a record of the discussion in the file or to each ticket in English.
All activities are best-effort (keep in mind that most of us are volunteer developers).
The date, time and place of the meeting are scheduled according to when/where we can reserve Matz's time.
If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format:
* [Ticket ref] Ticket title (your name)
* Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.)
Example:
* [Feature #14609] `Kernel#p` without args shows the receiver (ko1)
* I feel this feature is very useful and some people say :+1: so let discuss this feature.
It is recommended to add a comment by 2026/09/07. We hold a preparatory meeting to create an agenda a few days before the dev-meeting.
Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion.
[Feature #22279] Region (Length / Range) Arguments for String Bit Operations (hasumikin)
Follow-up to [Feature #22118] (String bit operations, accepted): adds (offset, length) and Range overloads to bit_set / bit_clear / bit_flip / bit_count.
Semantics follow #22118: mutations raise IndexError on any overrun without modifying bits, bit_count clamps and returns 0 for an empty intersection, negative offset is IndexError, negative length is ArgumentError.
Points I'd like feedback on: (1) bit_count(offset) with a lone offset raises ArgumentError rather than meaning "to the end"; (2) an empty region for mutations still requires offset <= bit_size, mirroring "abc"[4, 0] being nil.
[Bug #22276] alias in a module falls back to Object even in classes not inheriting from Object (shugo)
alias in a module binds Object's method at alias time, so it is broken in classes not inheriting from Object; this assumes Object is the root class, which is not true since 1.9.
I propose to check only the method existence with Object and resolve the alias at call time, like ZSUPER methods. PR: https://github.com/ruby/ruby/pull/18553
[Bug #22291] Instance variables should be forbidden on Ractor-shareable objects
Currently reading an ivar from a Ractor-shareable, but not frozen, object is only allowed on the main Ractor. But freezing these objects then incorrectly allows other Ractors to read the (possibly Ractor-unsafe) ivars.
I propose we forbid setting instance variables on shareable Ractor objects.
Currently, Ractor, ENV, Shareable proc will forbid setting instance variables (no change to Class/Module which have special rules)
[Bug #22273] Aliasing doesn't interact well with Module#prepend (jeremyevans0)
Currently, you can an alias of a method in a prepended module.
This allows super to call into a descendant instead of an ancestor, from the perspective of the method calling super.
I think this should be rejected. alias/alias_method should only consider ancestor methods, not descendant methods, so they should not consider methods in prepended modules.
[Feature #22266] Stop warning for duplicate keywords in splatted literal hashes (jeremyevans0)
Ruby does not generally warn for duplicate keywords in splatted hashes.
However, Ruby will warn if the splatted hash is a literal hash.
I think Ruby should be consistent and only warn for duplicate keywords in the same hash, and not for splatted hashes, even if the splatted hash is a literal hash.
[Feature #22134] Faster rb_scan_args() for keyword args (optimization) (nobu)
Luke proposes :^ to avoid keyword hash duplication and rb_get_kwargs_const for non-destructive lookup.
I suggest RB_SCAN_ARGS_BORROW_KEYWORDS ("^") as both a format fragment and a feature detection macro.
I also suggest rb_lookup_kwargs / rb_extract_kwargs, retaining rb_get_kwargs as a compatibility alias; my prototype showed 1.13–1.35x speedups in successful keyword-parsing microbenchmarks.