diff --git a/prism_compile.c b/prism_compile.c index 2f0161fb47e51e..95544ccda16c54 100644 --- a/prism_compile.c +++ b/prism_compile.c @@ -1437,6 +1437,7 @@ pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_ case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: { RUBY_ASSERT(node->flags & PM_REGULAR_EXPRESSION_FLAGS_ONCE); scope->body = (pm_node_t *)node; + scope->local_depth_offset += 1; break; } case PM_LAMBDA_NODE: { diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index e95baf5d5c0725..0409fc3e468ef1 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -601,6 +601,7 @@ def test_RegularExpressionNode assert_prism_eval('/pit/ne') assert_prism_eval('2.times.map { /#{1}/o }') + assert_prism_eval('2.times.map { foo = 1; /#{foo}/o }') end def test_StringNode