😊

[Bug #21016] shareable_constant_value: で fronze されないバグ報告

2025/01/10に公開

[Bug #21016] What should massign with shareable_constant_value: experimental_everything freeze?

  • マジックコメントで shareable_constant_value: experimental_everything が定義されている場合に定数が『共有可能オブジェクト』として定義されます
    • 共有可能オブジェクトは Ractor での概念
    • frozen されたオブジェクトになる
# shareable_constant_value: experimental_everything
A = ""
B = [1, 2]
pp A.frozen?   # => true
pp B.frozen?   # => true
  • これなんですが次のように多重代入の場合に frozen されないという内容のチケットになっています。
# shareable_constant_value: experimental_everything
A, B = "", [1, 2]
pp A.frozen?   # => false
pp B.frozen?   # => false
  • チケット内ではこれが期待するかどうか、みたいなことが書かれていますね
  • 個人的には frozen されてほしい気はするけども
GitHubで編集を提案

Discussion