On Thu, 10 Nov 2016 21:03:43 -0800, joshu...@gmail.com wrote: > Normally Rakudo is happy for you to omit comma when declaring pairs with > the `:key(value)` syntax, however I found that it does not like this syntax > is Rat's are used as the value, like this: > > > (:this(3.5) :that(5.3)) > Unknown QAST node type NQPMu >
I took a stab at this one, but giving up for now. Things discovered: - It's the second `:that(5.3)` that is the thing causing the issue - To repro the issue, instead of a Rat you can use a constant, e.g. `:that(pi)` - ASTs: - Working version has: QAST::WVal(Rat) <wanted> :statement_id<?> 5.3 - Broken version has: QAST::Want <wanted> (looks like it's missing stuff inside of it, which is what gives the error) - --target=parse: - Working version has EXPR => - 0: colonpair: (first) - 1: colonpair: (second) - Broken version has EXPR => - 0: colonpair: (first) - fake_infix: - OPER: - colonpair: (second) So looks like the Actions for `statement` token needs to rake through `fake_infix` capture and generate proper colonpair instead of empty QAST::Want. I gave up at that point, but hopefully my digging will be helpful to someone :)