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 :)

Reply via email to