Actions
Bug #21819
closedA Data object should be frozen even if it has no members
Bug #21819:
A Data object should be frozen even if it has no members
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [arm64-darwin25]
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) about 2 months 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) about 2 months ago
Updated by nobu (Nobuyoshi Nakada) about 2 months 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) about 1 month 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) 29 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.
Actions