I tried the evaluation from this bug report and didn't get that internal error 
anymore. There is still a type check error, though (which looks plausible to 
me):

$ perl6-m -e 'sub p(*@l) { gather { if @l == 1 { take @l } else { @l.shift; for 
p(@l) -> @p {} } } }; say p 1..4'
Type check failed in binding @p; expected 'Positional' but got 'Int'
  in block  at -e:1

If I change @p to a scalar container $p, the code does not die:

$ perl6-m -e 'sub p(*@l) { gather { if @l == 1 { take @l } else { @l.shift; for 
p(@l) -> $p {} } } }; say p 1..4; say "alive"'

alive

I'm not quite sure how a proper test for this ticket would look like. Just 
testing for X::TypeCheck?

Reply via email to