I would be careful with statements like this. New compilers do NOT make this a warning/error, see for example
Note that there are parentheses around the assignment which the compiler takes as an indication that this is intentional. Also note that the parentheses are required because without them the precedence would be wrong.