Actions
Bug #15891
closedFrozenError when assigning frozen class to constant
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-05-31 master 1457ad1ea7) [x86_64-darwin17]
Description
This code used to work in Ruby 2.6 and before: C = Class.new.freeze
. Now it raises a FrozenError for class and module instances, while other frozen things seem to still work.
I am not sure if this is a bug or an intentional change. A possible workaround is
C = Class.new
C.freeze
which works fine.
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
- Related to Feature #15765: [PATCH] Module#name without global constant search added
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
- Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.4: DONTNEED, 2.5: DONTNEED, 2.6: DONTNEED
- Description updated (diff)
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
- Status changed from Open to Closed
Applied in changeset git|c1e52997870a63168835fde49562cb3c822c968a.
Fix FrozenError when assigning frozen class to constant
- variable.c (set_namespace_path): modules/classes can get named
by assignment to constant, even if frozen. [Bug #15891]
Actions
Like0
Like0Like0Like0