# 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;