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?