From 06049fe98ef6eced6ccf6028621f3e10edeedccb Mon Sep 17 00:00:00 2001 From: KJ Tsanaktsidis Date: Thu, 28 Mar 2024 15:57:10 +1100 Subject: Backport https://github.com/ruby/ruby/pull/9240 to Ruby 3.2 Merged into master in 7ba2506232d3fa6c4e82e3708c0ff746a1a8de5c [Bug #20050] --- test/ruby/test_hash.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_hash.rb b/test/ruby/test_hash.rb index 8d36cf657f..639c0105c0 100644 --- a/test/ruby/test_hash.rb +++ b/test/ruby/test_hash.rb @@ -2246,4 +2246,24 @@ class TestHash < Test::Unit::TestCase end; end end + + def test_ar_hash_to_st_hash + assert_normal_exit("#{<<~"begin;"}\n#{<<~'end;'}", 'https://bugs.ruby-lang.org/issues/20050#note-5') + begin; + srand(0) + class Foo + def to_a + [] + end + def hash + $h.delete($h.keys.sample) if rand < 0.1 + to_a.hash + end + end + 1000.times do + $h = {} + (0..10).each {|i| $h[Foo.new] ||= {} } + end + end; + end end -- cgit v1.2.3