📘

[Bug #20906] compile_keyword_arg で Ruby がクラッシュするバグ報告

2024/11/04に公開

[Bug #20906] Segmentation Fault in compile_keyword_arg

  • Ruby 3.3 で以下のコードを実行するとクラッシュするというバグ報告
a, b[c: nil] = d
  • これなんですが Ruby 3.4 だと parse.y でも prism でもシンタックスエラーになるみたいですいね
$ ruby -v --parser=prism -e "a, b[c: nil] = d"
ruby 3.4.0dev (2024-12-01T08:31:10Z master 96fac34797) +PRISM [x86_64-linux]
-e: -e:1: syntax error found (SyntaxError)
> 1 | a, b[c: nil] = d
    |      ^~~~~~ unexpected keyword arg given in index assignment; keywords are not allowed in index assignment expressions
  2 | 
  • あと下のコードでも同じように再現するみたいです
*a[a:] = 0
GitHubで編集を提案

Discussion