Merge pull request #3282 from bouk/fix-break-instance-class

Fix segfault when defining class inside instance_exec on primitive
This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-11-25 09:17:59 +09:00
committed by GitHub
2 changed files with 38 additions and 4 deletions
+28
View File
@@ -23,3 +23,31 @@ assert('Object#tap') do
], ret
assert_equal(:tap_ok, Class.new {def m; tap{return :tap_ok}; end}.new.m)
end
assert('instance_exec on primitives with class and module definition') do
begin
class A
1.instance_exec do
class B
end
end
end
assert_kind_of Class, A::B
ensure
Object.remove_const :A
end
begin
class A
1.instance_exec do
module B
end
end
end
assert_kind_of Module, A::B
ensure
Object.remove_const :A
end
end