On Sunday, 22 February 2015 at 02:27:30 UTC, Peter Alexander wrote:
On Sunday, 22 February 2015 at 01:24:09 UTC, Almighty Bob wrote:
a += b; // Compiles with no ERROR!

Please tell me that's a bug?

Not a bug. From spec:

http://dlang.org/expression.html#AssignExpression
Assignment operator expressions, such as:

a op= b

are semantically equivalent to:

a = cast(typeof(a))(a op b)

Seems questionable to me. Anyone know the rationale? If a = b; is disallowed, I don't see why a += b; should be more acceptable.

Questionable or not, this is the C behaviour we might not depart from.

Reply via email to