error.c: avoid infinite recursion at inspecting the frozen object

This commit is contained in:
Nobuyoshi Nakada 2019-06-05 13:02:38 +09:00
parent b2fe7484e7
commit 1624d77f3e
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60
2 changed files with 35 additions and 7 deletions

View file

@ -886,6 +886,21 @@ end.join
obj.instance_variable_set(:@test, true)
}
assert_include(e.message, obj.inspect)
klass = Class.new do
def init
@x = true
end
def inspect
init
super
end
end
obj = klass.new.freeze
e = assert_raise_with_message(FrozenError, /can't modify frozen #{obj.class}/) {
obj.init
}
assert_include(e.message, klass.inspect)
end
def test_name_error_new_default