# New Ticket Created by  Zoffix Znet 
# Please include the string:  [perl #131845]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131845 >


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