Fix name assignment to frozen anonymous class/module

Fix the following issues:

  A = Class.new.freeze              #=> FrozenError
  Module.new::B = Class.new.freeze  #=> FrozenError
  String::B = Module.new.freeze     #=> FrozenError
This commit is contained in:
KOBAYASHI Shuji
2019-04-23 20:45:38 +09:00
parent 7cf1bc39a7
commit cc7f9190ba
4 changed files with 20 additions and 12 deletions
+4
View File
@@ -653,6 +653,10 @@ assert('Module#to_s') do
assert_match "#<Module:0x*>", Module.new.to_s
assert_match "#<Class:0x*>", Class.new.to_s
assert_equal "FrozenClassToS", (FrozenClassToS = Class.new.freeze).to_s
assert_equal "Outer::A", (Outer::A = Module.new.freeze).to_s
assert_match "#<Module:0x*>::A", (Module.new::A = Class.new.freeze).to_s
end
assert('Module#inspect') do