[PRISM] Treat it as a local when compiling patterns

Fixes [Bug #20973]
This commit is contained in:
Matt Valentine-House 2024-12-20 09:52:11 +00:00 committed by Kevin Newton
parent 0397bfa2c8
commit e8d393c8ae
Notes: git 2024-12-20 13:20:15 +00:00
2 changed files with 2 additions and 0 deletions

View File

@ -3029,6 +3029,7 @@ pm_compile_pattern(rb_iseq_t *iseq, pm_scope_node_t *scope_node, const pm_node_t
case PM_GLOBAL_VARIABLE_READ_NODE:
case PM_IMAGINARY_NODE:
case PM_INSTANCE_VARIABLE_READ_NODE:
case PM_IT_LOCAL_VARIABLE_READ_NODE:
case PM_INTEGER_NODE:
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE:
case PM_INTERPOLATED_STRING_NODE:

View File

@ -2530,6 +2530,7 @@ end
assert_prism_eval("module Prism; @prism = 1; 1 in ^@prism; end")
assert_prism_eval("$prism = 1; 1 in ^$prism")
assert_prism_eval("prism = 1; 1 in ^prism")
assert_prism_eval("[1].each { 1 => ^it }")
end
############################################################################