General

Profile

matz (Yukihiro Matsumoto)

  • Login: matz
  • Email: matz@ruby.or.jp
  • Registered on: 05/09/2008
  • Last sign in: 12/16/2025

Issues

open closed Total
Assigned issues 148 688 836
Reported issues 1 30 31

Projects

Project Roles Registered on
Ruby Owner, Committer 05/18/2008

Activity

05/14/2026

10:17 AM Ruby Bug #21994: If there is a local variable `foo`, calls to a method `foo` with a regexp literal as first argument is always a SyntaxError without parentheses
I agree the current behavior is inconsistent, and I am now inclined to simply remove the `ambiguous /` warning.
The warning was intended to be helpful, but as this issue shows, it does not catch the genuinely confusing case (the synta...
matz (Yukihiro Matsumoto)
10:00 AM Ruby Feature #22012 (Closed): Data class should respond to #dig
Thank you for the proposal, and thank you @zverok for the detailed explanation.
I agree with @zverok. The absence of `#dig` on `Data` is intentional. `Data` is designed as a base for composite value objects, not as a navigable contain...
matz (Yukihiro Matsumoto)
09:56 AM Ruby Bug #22007 (Closed): Inconsistent type checking on rescue
The current behavior follows from lazy evaluation of rescue clauses, which is intentional. As @kddnewton noted in #note-7, the arguments are expressions and can't be classified statically, so an eager check means evaluating them all, wit... matz (Yukihiro Matsumoto)

05/13/2026

06:59 AM Ruby Bug #20409: Missing reporting some invalid breaks
Not intentional. It is just a leftover from the old implementation. The inconsistency should be fixed eventually.
Matz.
matz (Yukihiro Matsumoto)
06:20 AM Ruby Feature #22056: Add zero-copy String constructor backed by an arbitrary Ruby object
Thanks for the proposal. Let me clarify my position.
I am not opposed to introducing this API in principle. The use case is real, and I do not think `rb_str_new_static` + ivar is a proper substitute. They have different lifetime seman...
matz (Yukihiro Matsumoto)
06:00 AM Ruby Feature #21981: Remove CREF rewriting for methods on cloned classes/modules
Agreed in principle. The current behavior was a workaround for #7107, not a design decision, and the follow-ups in #10885 and #15877 were patches on top of that. Keeping the original lexical scope is consistent with inheritance, mixins, ... matz (Yukihiro Matsumoto)
05:39 AM Ruby Bug #22058: {Method,InstanceMethod}#super_method doesn't work correctly for refined method with refinements for method active in the caller's scope
@shugo is right. The change in super's behavior in 2.7 was unintentional, so I'm in favor of fixing it to match the documentation.
Matz.
matz (Yukihiro Matsumoto)

04/17/2026

02:05 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
Thank you for the proposal. Introducing a new method rather than extending `source_location` is the right direction, given the compatibility issues we hit.
I approve the shape of this feature, including:
- The class name `Ruby::Sou...
matz (Yukihiro Matsumoto)
07:18 AM Ruby Bug #20409: Missing reporting some invalid breaks
Yes, it is OK to make it `SyntaxError`.
Matz.
matz (Yukihiro Matsumoto)
07:15 AM Ruby Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
I'd like to suggest we settle the design before changing the permissions.
Specifically:
1. The current policy around default/bundled/unbundled gems should be written down. `doc/maintainers.md` is outdated, and until it's updated, d...
matz (Yukihiro Matsumoto)

Also available in: Atom