Ruby: The future of frozen string literals
Rubyにおいて同一リテラルがコード中に現れたとき、そのリテラルオブジェクトのallocationは3パターンある
1. どこであっても同一オブジェクト
2. 同じ箇所で定義されたリテラルのみ同一オブジェクト
3. 常に異なるオブジェクト
2.3で導入されたfrozen_string_literalマジックコメントをつけるとそのファイル内ではfrozen、immutable objectになり上記の1となる
Ruby 3.4
マジックコメントがなく、リテラルでインスタンス化された文字列オブジェクトが変更された場合、warningが出るようになる
デフォルトが変更される4.0への移行パス
マジックコメントは3.4時点では消さないほうがいい
なんらかのgemを使用してwarningを見つけたらレポートしてあげるとよい