💭

[Bug #20472] shareable_constant_value + **nil すると segv するバグ報告

2024/05/18に公開

[Bug #20472] Ractor support for ** into hash literal

  • shareable_constant_value: の pragma comment があるときに **nil で segv するバグ報告
    • これは開発版の Ruby 3.4-dev で再現する
# shareable_constant_value: experimental_copy
a = { "foo" => "bar" }
# ここで segv する
A = { **a }
  • experimental_copy 以外も experimental_everythingliteral でも再現しました
  • ちなみに shareable_constant_value に設定できる値は以下のような感じ
    • experimental_everything : マジックコメント移行の定数定義を共有可能オブジェクトにする
    • experimental_copy : 値をコピーを共有可能オブジェクトにして定数を定義する
    • none : shareable_constant_value を無効にする
    • literal : 定数定義がリテラルだった場合のみ共有可能オブジェクトにする
GitHubで編集を提案

Discussion