Compiler edit 958: USING expressions on the right side of shortcut operators are now evaluated after the completed expansion of the shortcut operator statement. For example:
a += b using mask
is now compiled as:
a = a + b using mask
Previously it was compiled as:
a = a + (b using mask)
Although USING is technically just another operator, by its nature and by the fact that it has the lowest precedence of all other operators, it is nearly always treated as the final step in a statement. So this change is believed to be more natural and intuitive for most programmers, not to mention more flexible.
Note that all other expressions (not including USING) continue to be evaluated as a unit prior to executing the shortcut operator. So for example:
a *= b + c
is compiled as:
a = a * (b + c)
The only way to give the * operator in this expression precedence over the + operator would be to avoid using the shortcut operator.