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


The .done method of a Supplier should call all the done handlers in
all the taps that have one. I don't think that's happening in 2017.01.

It looks like only the first .tap gets to the done message:

    my $supplier = Supplier.new;
    my $supply   = $supplier.Supply;

    $supply.tap(
        done => { put "1. Done" },
        );
    $supply.tap(
        done => { put "2. Done" },
        );

    $supplier.done; # output only first

I get just the first handler:

    1. Done

And, if the first .tap does not have a done handler, I get no
output:

    my $supplier = Supplier.new;
    my $supply   = $supplier.Supply;

    $supply.tap(
        );
    $supply.tap(
        done => { put "2. Done" },
        );

    $supplier.done;  # no output

Reply via email to