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


$ perl6 -e 'my $r = Supplier.new; my $s = $r.Supply; my $c = $s.Channel; start 
{ for @$c { "got $_".say }; 42.say; }; sleep 0.5; for 1..4 { $r.emit($_); sleep 
0.5 }; $r.quit(X::AdHoc.new(:message)); sleep 1;'
got 1
got 2
got 3
got 4
Method 'quit' not found for invocant of class 'Channel'
  in block <unit> at -e line 1

quoting jnthn: "It's indeed a bug. It should really be calling .fail on the 
Channel, which should then be resulting in the exception being thrown in the 
for iteration."

Probably this is as simple as changing line 579 of Supply.pm

Reply via email to