Lack of space after != operator changes behaviour #3322
The following test in roast currently is skipped for Rakudo as a nom regression:
STD parses the comparision successfully:
<psch> std: 3 !=3
while Rakudo tries to assign and fails:
<psch> r: say 3 !=3
that STD says it is okay does not mean much here, because:
./viv -e 'say 1 != 3'
./viv -e 'say 1 !=3'
So already STD has a problem here and I will open a STD-issue in its github repo, see:
If the programmer omits the space after the != (not equal, numeral) operator, the behavior of the operator changes to: [assign RHS to LHS, return !RHS], as can be seen from these examples:
<ZoffixW> m: say 0 != 0
This behaviour is confusing and probably not wanted by most programmers.
On Mon Apr 25 09:20:43 2016, firstname.lastname@example.org wrote:
This is a dupe of https://rt-archive.perl.org/perl6/Ticket/Display.html?id=121108, which is wrongly titled at the moment.
As a follow-up on f3b1e95 Ralph Mellor++ pointed to Raku/old-issue-tracker#3322 from 2014. This turned out to be a similar issue. Fixing this properly would be a little more involved and potentially breaking, and since this is all going to go in RakuAST anyway, fix this by basically a simple hack to change '!=' effectively into '!=='. Makes two TODO tests pass.