🐡

[Bug #21031] prism で eval 内で匿名引数を参照したときのバグ報告

2025/01/26に公開

[Bug #21031] Incompatibility with prism and parse.y when eval'ing unnamed forwarding variables

  • prism で次のように eval 内で匿名引数をフォワードした時にタックスエラーになるというバグ報告
  • parse.y であればエラーにならない
def foo(*)
  eval("p(*)")
end

foo(1)
# prism   => SyntaxError: unexpected `*`; no anonymous rest parameter
# parse.y =>  1
  • 他にも **& .. などでも再現するみたいです
  • * ** に関しては最適化関連で意図する挙動なのか?みたいな話がされていたんですが特にそういうこともなく単に prism のバグみたいですね
  • この不具合は開発版の Ruby 3.5-dev で修正済みです
GitHubで編集を提案

Discussion