diff --git a/src/Perl6/Grammar.pm b/src/Perl6/Grammar.pm index 55397222b07..37ae8af786c 100644 --- a/src/Perl6/Grammar.pm +++ b/src/Perl6/Grammar.pm @@ -277,6 +277,20 @@ role STD { $var.CURSOR.add_mystery($varast.name, $var.to, 'var'); } } + else { + my $lex := $*W.cur_lexpad(); + my %sym := $lex.symbol($name); + if %sym { + %sym := 1; + } + else { + # Add mention-only record (used to poison outer + # usages and disambiguate hashes/blocks by use of + # $_ when $*IMPLICIT is in force). + $lex := {} unless $lex; + $lex{$name} := 1; + } + } } self }