summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2024-08-18 18:07:14 +0900
committernagachika <nagachika@ruby-lang.org>2024-08-18 18:07:14 +0900
commit21c708ee802e1a59901eccc6448e40e8f72189b8 (patch)
tree3aa63f127e7ba40f9e2977b69fad8c46b935d28c /test/ruby
parent65fed1c3e439bc47bcf6ec884431a86cb9ebd1dc (diff)
merge revision(s) 992596fb7af18a7f472589a607d0eb3fbb03b49a: [Backport #20344]
Fix next inside block argument stack underflow [Bug #20344] Fix compile_next adding removable adjust label
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_iseq.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb
index c1de8c96de..f5147831e4 100644
--- a/test/ruby/test_iseq.rb
+++ b/test/ruby/test_iseq.rb
@@ -781,4 +781,25 @@ class TestISeq < Test::Unit::TestCase
end
end;
end
+
+ def test_unreachable_next_in_block
+ bug20344 = '[ruby-core:117210] [Bug #20344]'
+ assert_nothing_raised(SyntaxError, bug20344) do
+ compile(<<~RUBY)
+ proc do
+ next
+
+ case nil
+ when "a"
+ next
+ when "b"
+ when "c"
+ proc {}
+ end
+
+ next
+ end
+ RUBY
+ end
+ end
end