Not sure if this info is relevant now, but the hang was introduced in
(2016-02-18)
https://github.com/rakudo/rakudo/commit/9983c2c8434ed81c532a5706996f284283b48d0a

On 2017-08-05 06:33:14, c...@zoffix.com wrote:
> Since Seq is not a Positional type, *binding* it to a `@` variable is
> typecheck error:
>
> 13:26 m: my @a := Seq.new: class :: does Iterator {method
> pull-one {IterationEnd}}.new;
> 13:26 camelia rakudo-moar abf1cf: OUTPUT: «Type check failed in
> binding; expected Positional but got Seq ($(().Seq))? in block <unit>
> at <tmp> line 1??»
>
> However, it appears the code is trying to consume the entire Seq,
> before generating the error:
>
> 13:26 Zoffix m: my @a := Seq.new: class :: does Iterator {method
> pull-one {42}}.new; # hang
> 13:27 camelia rakudo-moar abf1cf: OUTPUT: «(timeout)»
> 13:31 Zoffix m: my @a := 1…?; # but this one has `is-lazy` set
> 13:31 camelia rakudo-moar abf1cf: OUTPUT: «Type check failed in
> binding; expected Positional but got Seq (?)? in block <unit> at
> <tmp> line 1??»
>
>
> Perhaps it thinks it's gonna do assignment and consumes non-lazy Seqs
> in preparation for it, but then the binding happens and then it
> throws?

Reply via email to