http://www.viva64.com/en/b/0113/ linked from: http://www.reddit.com/r/programming/comments/lhfji/static_analyzer_found_errors_in_chrome_again/
There was this kind of code: void main() { int x = -1; x =- 2; assert(x == -3); // fail } This was apparently a typo in the Chrome source code. Perhaps the compiler could detect this and emit a warning or stop compilation. To work around it, you would have to add a space immediately after the equals token if the next token is a minus or plus token. E.g.: void main() { int x = -1; x =-2; // ng x =- 2; // ng x = -2; // ok x = - 2; // ok x =+2; // ng x =+ 2; // ng x = +2; // ok x = + 2; // ok } Alternatively a simple warning could be emitted. However I don't know if this is a common enough bug to worry about, or if it could potentially hurt metaprogramming.