[ruby-dev:51201] [Ruby master Bug#19132] `**` ใๅผๆฐใซๆๅฎใใใจ no anonymous keyword rest parameter ใซใชใ
From:
"shugo (Shugo Maeda)" <noreply@...>
Date:
2022-11-17 08:52:16 UTC
List:
ruby-dev #51201
Issue #19132 has been updated by shugo (Shugo Maeda).
shugo (Shugo Maeda) wrote in #note-5:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> > `:**`ใซ็ตฑไธใงใใใฎใงใฏใชใใงใใใใใ
>
> Rubyใฌใใซใงๅ
ฌ้ใใใฆใใๆ
ๅ ฑใ `:**` ใชใฎใง็งใใใกใใซๅใใใๆนใใใใใใซๆใใพใใ
ไธ่จใฎไฟฎๆญฃใงRBSใฎใในใใใใใใฎใ่ชฟในใฆใฟใใฎใงใใใRubyVM::ASTใฎใในใใ้ใใใใซไปฅไธใฎไฟฎๆญฃใใใใใใงใใใ
```
--- a/ast.c
+++ b/ast.c
@@ -348,6 +348,7 @@ static VALUE
var_name(ID id)
{
if (!id) return Qnil;
+ if (!rb_is_local_id(id)) return Qnil;
if (!rb_id2str(id)) return Qnil;
return ID2SYM(id);
}
```
ๅคๆฐๅใ `**` ใฎๆใซๅๅใชใๆฑใใใใใใงใใใใใใใ `def foo(...)` ใจใใงๅฎ็พฉใใใ `*` ใชใฉใ้ ใใฆใใพใฃใฆใใใใใงใใ
`**` ใฎๆใ ใ้ ใใจใใไฟฎๆญฃใใงใใพใใใUnboundMethod#parametersใชใฉใงใฏ `**` ใจใใๅคๆฐๅใ่ฆใใฆใใใฎใงใRubyVM::ASTใๅใใใๆนใใใใใใซๆใใพใใ
----------------------------------------
Bug #19132: `**` ใๅผๆฐใซๆๅฎใใใจ no anonymous keyword rest parameter ใซใชใ
https://bugs.ruby-lang.org/issues/19132#change-100148
* Author: tommy (Masahiro Tomita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.2.0preview3 (2022-11-14) [arm64-darwin21]
* Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED
----------------------------------------
Ruby 3.2.0-preview3 ใงๆฌกใฎในใฏใชใใใๅฎ่กใใใจใจใฉใผใซใชใใพใใ
```ruby
def hoge(a, *, k: nil, **)
foo(*, **)
end
```
```
% ruby hoge.rb
hoge.rb:2: no anonymous keyword rest parameter
```
ๆฌกใฎใใใซใญใผใฏใผใใใฉใกใผใฟใ `**` ใ ใใงใใใฐใจใฉใผใซใชใใพใใใงใใใ
```ruby
def hoge(a, *, **)
foo(*, **)
end
```
--
https://bugs.ruby-lang.org/