diff --git a/t/run/todo.t b/t/run/todo.t index fd30ea9da317..82200731bba1 100644 --- a/t/run/todo.t +++ b/t/run/todo.t @@ -137,6 +137,38 @@ TODO: { "undef:de567\nundef:de567", { eval $switches }, ""); } +TODO: { + local $::TODO = 'GH 16364'; + + my @arr; + my sub foo { + unshift @arr, 7; + $_[0] = 3; + } + + # within array range + @arr = (); + $arr[1] = 1; + foo($arr[0]); + is($arr[1], 3, 'Array element created at correct index from subroutine @_ alias'); + + # outside of array range + @arr = (); + $arr[1] = 1; + foo($arr[5]); + is($arr[6], 3, 'Array element created at correct index from subroutine @_ alias'); + + @arr = (); + $arr[1] = 1; + foreach (@arr) { + unshift @arr, 7; + $_ = 3; + last; + } + is($arr[1], 3, 'Array element created at correct index from foreach $_ alias'); + +} + TODO: { local $::TODO = 'GH 16865'; fresh_perl('\(sort { 0 } 0, 0 .. "a")', { stderr => 'devnull' });