diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-01-17 11:19:54 -0500 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2024-01-17 13:17:44 -0500 |
| commit | f43a919be494cf5b0f98f104da1024efda1abba5 (patch) | |
| tree | fbe9c77aeff9d38490e4d38cce8d5e164113f3c7 /test/ruby | |
| parent | de9411c0b91010e3a30b86904c7470b724564341 (diff) | |
[PRISM] Fix fallthrough for PM_ENSURE_NODE
This caused it to fall into PM_ELSE_NODE which caused ensure nodes to be
compiled twice.
Fixes ruby/prism#2176.
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_compile_prism.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index c0f85af8b4..d547f82fe3 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -931,6 +931,21 @@ module Prism end a CODE + + # Test that ensure block only evaluated once + assert_prism_eval(<<~RUBY) + res = [] + begin + begin + raise + ensure + res << $!.to_s + end + rescue + res + end + RUBY + assert_prism_eval(<<-CODE) a = 1 begin |
