# New Ticket Created by  "Carl Mäsak" 
# Please include the string:  [perl #101124]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=101124 >


<tadzik> b: say ?(0|1 == 0&1); say ?(0&1 == 0|1)
<p6eval> b 1b7dd1: OUTPUT«Bool::True␤Bool::True␤»
<grondilu> rakudo: say ?(0|1 == 0&1), ?(0&1 == 0|1)
<p6eval> rakudo 38907e: OUTPUT«Bool::FalseBool::True␤»
<masak> 0|1 == 0&1 means any(0,1) == all(0,1) means all(any(0,1) == 0,
any(0,1) == 1) means all(any(0 == 0, 1 == 0), any(0 == 1, 1 == 1))
<masak> which is true, AFAICS.
* masak submits rakudobug

In other words, the result of ?(0|1 == 0&1) should be Bool::True,
because (intuitively) 0 and 1 is equal to 0 or 1. Other
implementations agree.

<grondilu> perl6: say ?(0|1 == 0&1); say ?(0&1 == 0|1)
<p6eval> pugs: OUTPUT«1␤1␤»
<p6eval> ..rakudo 38907e: OUTPUT«Bool::False␤Bool::True␤»
<p6eval> ..niecza v10-40-ga57ed3d: OUTPUT«Bool::True␤Bool::True␤»

Reply via email to