I found out this strange behavior of a hyperoperator:
say 0 != 0; # False
my @a = 0, 0, 0;
say @a «==» @a; # [True True True]
say @a «!=» @a; # [True True True] <--- why?
say @a «!==» @a; # [False False False]
The != infix operator is defined here as equivalent to !== while apparently it's not, at least when used in a hyperoperator.
The problem seems to be related to the specific value (zero), since using a different value returns the expected result.
Besides, using 0 but True works fine:
@a = 0 but True, 0 but True, 0 but True;
say @a «!=» @a; # [False False False]
I'm using Rakudo 2022.03.
Is this a bug or something I cannot grasp?