# New Ticket Created by Ron Schmidt # Please include the string: [perl #64742] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=64742 >
The source documentation switched two digits in its claim on the parrot RT holding up the enhancement and gives the RT as 53296. There is no RT 53296 but 53926 matches and has been resolved. Patch noticeably simplifies src/parser/expression.pir. I don't claim expertise in the area, but rakudo with patch passes spectest.
diff --git a/src/parser/expression.pir b/src/parser/expression.pir index a245f0c..ab05a15 100644 --- a/src/parser/expression.pir +++ b/src/parser/expression.pir @@ -22,30 +22,22 @@ result to the caller. Any C<tighter> option is passed as a corresponding option to the operator precedence parser, which parses expressions of tighter precedence. -(FIXME Parrot bug RT#53296 prevents us from using :optional -on the C<tighter> argument along with :slurpy :named parameters, -so we use :multi as a temporary workaround.) - =cut .namespace [ "Perl6";"Grammar" ] .include "cclass.pasm" -.sub "EXPR" :method :multi(_) +.sub "EXPR" :method + .param pmc tighter :optional + .param int got_tighter :opt_flag .param pmc adverbs :slurpy :named .local pmc optable optable = get_hll_global ['Perl6';'Grammar'], "$optable" + if got_tighter goto with_tighter .tailcall optable."parse"(self, 'rulename'=>'EXPR', adverbs :named :flat) -.end - -.sub "EXPR" :method :multi(_,_) - .param pmc tighter - .param pmc adverbs :slurpy :named - .local pmc optable - - optable = get_hll_global ['Perl6';'Grammar'], "$optable" +with_tighter: .tailcall optable."parse"(self, 'rulename'=>'EXPR', 'tighter'=>tighter, adverbs :named :flat) .end