From fb29a4dcda2b9c4fde85c6cf237d5158c0fe583e Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 1 Aug 2017 02:10:19 +0000 Subject: should not copy promoted flags. * include/ruby/ruby.h (rb_clone_setup): should not copy some flags (FL_PROMOTED0|FL_PROMOTED1|FL_FINALIZE). [Bug #13775] * test/ruby/test_object.rb: add a test (note that this test will fail only when RGENGC_CHECK_MODE >= 2). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_object.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_object.rb b/test/ruby/test_object.rb index 1e952533a6..e7d623283f 100644 --- a/test/ruby/test_object.rb +++ b/test/ruby/test_object.rb @@ -934,4 +934,14 @@ class TestObject < Test::Unit::TestCase num.times {a.clone.set} end; end + + def test_clone_object_should_not_be_old + assert_normal_exit <<-EOS, '[Bug #13775]' + b = proc { } + 10.times do |i| + b.clone + GC.start + end + EOS + end end -- cgit v1.2.3