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



    say Bool.pick Xxx ^5

will only ever output one of these two results

    (() (True) (True True) (True True True) (True True True True))
    (() (False) (False False) (False False False) (False False False False))

If you place the left side in a list it does work

    say (Bool.pick,) Xxx ^5
    (() (True) (False True) (False True False) (True True False True))

First came to my attention with this commit 
https://github.com/rakudo/rakudo/commit/a26f51361b
As far as I know it has never worked though

The infix:<xx> operator has a thunky of 't.', and that code in the commit is 
looking for a thunky of '.t' or '.b' etc

infix:<&&> has a thunky of '.t' and infix:<xor> has a thunky of '.b'


A proper test would be something like the following

    my $count = 0;
    is-deeply ($count++ Xxx ^5).list, ((),(0,),(1,2),(3,4,5),(6,7,8,9));
    is $count, 10;

Reply via email to