[#122258] [Ruby Misc#21367] Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/ — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #21367 has been reported by p8 (Petrik de Heus).
11 messages
2025/05/23
[ruby-core:122051] [Ruby Bug#21330] Namespace: Class and Module frozen status is not namespaced
From:
"tagomoris (Satoshi Tagomori) via ruby-core" <ruby-core@...>
Date:
2025-05-13 12:00:13 UTC
List:
ruby-core #122051
Issue #21330 has been updated by tagomoris (Satoshi Tagomori).
The frozen flag is what I missed. I think we should move the flag to `rb_classext_t`.
----------------------------------------
Bug #21330: Namespace: Class and Module frozen status is not namespaced
https://bugs.ruby-lang.org/issues/21330#change-113201
* Author: byroot (Jean Boussier)
* Status: Open
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
```ruby
File.write("/tmp/test.rb", <<~'RUBY')
Hash.freeze
RUBY
ns = Namespace.new
ns.require("/tmp/test.rb")
class Hash
def monkey_patch
end
end
```
Expected behavior:
Since the monkey patch is in a different namespace, I'd expect it to not impact code that is running in another namespace.
Actual behavior:
```
test.rb:9:in '<class:Hash>': can't modify frozen class: Hash (FrozenError)
```
The class is frozen globally, breaking code in other namespaces.
Is this by design, or does that mean the frozen status need to be moved in the `classext_t` as well?
cc @tagomoris
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/