# New Ticket Created by Moritz Lenz
# Please include the string: [perl #63904]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=63904 >
Rakudo 087e299898416ca6c3a6e2b2bdc3785d841f0ec6:
# test file:
grammar Expr {
rule TOP { ^ \d+ [ <operator> \d+ ]* }
token operator { '/' | '*' | '+' | '-' };
};
if Expr.parse('2 + 4') { say $/.perl; }
# output:
Null PMC access in get_bool()
current instr.: 'parrot;Match;_block1144' pc 33028
(src/gen_setting.pir:3592)
called from Sub 'gather' pc 15603 (src/builtins/control.pir:114)
called from Sub 'parrot;Match;!_perl' pc 32448 (src/gen_setting.pir:3458)
called from Sub 'parrot;Match;_block1219' pc 33592
(src/gen_setting.pir:3779)
called from Sub 'parrot;Match;_block1206' pc 33411
(src/gen_setting.pir:3720)
called from Sub 'parrot;Match;_block1144' pc 32926
(src/gen_setting.pir:3576)
called from Sub 'gather' pc 15603 (src/builtins/control.pir:114)
called from Sub 'parrot;Match;!_perl' pc 32448 (src/gen_setting.pir:3458)
called from Sub 'parrot;Match;_block1294' pc 34243
(src/gen_setting.pir:3982)
called from Sub 'parrot;Match;_block1274' pc 34033
(src/gen_setting.pir:3912)
called from Sub 'parrot;Match;_block1256' pc 33808
(src/gen_setting.pir:3838)
called from Sub 'parrot;Match;_block1144' pc 33040
(src/gen_setting.pir:3596)
called from Sub 'gather' pc 15603 (src/builtins/control.pir:114)
called from Sub 'parrot;Match;!_perl' pc 32448 (src/gen_setting.pir:3458)
called from Sub 'parrot;Match;perl' pc 32322 (src/gen_setting.pir:3413)
called from Sub '_block32' pc 1168 (EVAL_24:468)
called from Sub '_block14' pc 107 (EVAL_24:52)
called from Sub '!UNIT_START' pc 17161 (src/builtins/guts.pir:325)
called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950
(src/PCT/HLLCompiler.pir:527)
called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1275
(src/PCT/HLLCompiler.pir:688)
called from Sub 'parrot;PCT;HLLCompiler;command_line' pc 1456
(src/PCT/HLLCompiler.pir:778)
called from Sub 'parrot;Perl6;Compiler;main' pc 21458 (perl6.pir:163)
The error occurs in line 31 of src/setting/Match.pm
if %(self) {
At this point self.PARROT says Perl6Scalar->Expr, normally ?%(self)
works when
self is 'Expr' (without the Perl6Scalar part)