
Issue #19134 has been updated by Eregon (Benoit Daloze). shugo (Shugo Maeda) wrote in #note-8:
`&` is allowed in 3.1, so it's a breaking change to prohibit it.
Right and `&` is not problematic re performance, it's a completely separate argument anyway. I agree with your proposal in your comment just above this one. ---------------------------------------- Feature #19134: ** is not allowed in def foo(...) https://bugs.ruby-lang.org/issues/19134#change-100573 * Author: shugo (Shugo Maeda) * Status: Open * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * Target version: 3.2 ---------------------------------------- `*` and `&` are allowed in the body of a method with `...` argument forwarding, but `**` is not allowed. ``` def foo(...) bar(*) # OK baz(&) # OK quux(**) # NG end ``` Is it intended behavior? It seems that parse.y has code like `#ifdef RUBY3_KEYWORDS`, and if RUBY3_KEYWORDS, `**` will also be supported. -- https://bugs.ruby-lang.org/