Workaround of instance variable on hidden object

Since 9d9aea7fe5, generic instance
variables need `iv_index_tbl` in the object's class.  As hidden
objects, however, have no class, access to the variables causes a
segfault.  Get rid of that segfault by raising an exception, for
the time being.
This commit is contained in:
Nobuyoshi Nakada 2020-02-11 11:28:31 +09:00
parent 921916ff9e
commit 52cdf400ef
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60
2 changed files with 17 additions and 2 deletions

View file

@ -65,6 +65,18 @@ class TestEncoding < Test::Unit::TestCase
END;
end
def test_extra_encoding
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
begin;
200.times {|i|
Encoding::UTF_8.replicate("dummy#{i}")
}
e = Encoding.list.last
format = "%d".force_encoding(e)
assert_raise(TypeError) {format % 0}
end;
end
def test_dummy_p
assert_equal(true, Encoding::ISO_2022_JP.dummy?)
assert_equal(false, Encoding::UTF_8.dummy?)