Bug #21819
closedA Data object should be frozen even if it has no members
Description
Data objects with at least one member are currently automatically frozen on construction, and shareable if all members are shareable. However, a Data object with no members is not frozen on construction. I would expect such an object similarly to be frozen (and also shareable since it has no non-shareable members).
Foo = Data.define(:foo)
Foo.new(1).frozen? # => true
Bar = Data.define
Bar.new.frozen? # => false
Updated by nobu (Nobuyoshi Nakada) 27 days ago
- Backport changed from 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN, 4.0: UNKNOWN to 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED
Updated by nobu (Nobuyoshi Nakada) 27 days ago
Updated by nobu (Nobuyoshi Nakada) 27 days ago
- Status changed from Open to Closed
Applied in changeset git|d7a6ff8224519005d2deeb3f4e98689a8a0835ad.
[Bug #21819] Data objects without members should also be frozen
Updated by k0kubun (Takashi Kokubun) 17 days ago
- Backport changed from 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED to 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED, 4.0: DONE
ruby_4_0 6273c59a6e1f8587e549d5a5f44fd9363e6eb018 merged revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad.
Updated by nagachika (Tomoyuki Chikanaga) 5 days ago
- Backport changed from 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED, 4.0: DONE to 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE, 4.0: DONE
ruby_3_4 d5ca99a71ccb170db08e4b610d661ce3a18626f2 merged revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad.