bool a, b;
true && (a = b); // ok in DMD 168 and 169
// DMD 168 and 169 give this error: true && (a) is not an lvalue
true && a = b; // only DMD 169 seg-faults here
Comment #1 by fvbommel — 2006-10-14T09:36:06Z
> bool a, b;
> true && (a = b); // ok in DMD 168 and 169
irrellevant.
> // DMD 168 and 169 give this error: true && (a) is not an lvalue
> true && a = b; // only DMD 169 seg-faults here
This is equivalent to '(true && a) = b', not 'true && (a = b)' as you seem to imply by including the first bit of code. This means the error message is completely justified.
The seg-fault is a bug, of course. (A null pointer dereference, judging by the error dialog)
Also occurs on Windows, so set OS to 'All'.
Comment #2 by matti.niemenmaa+dbugzilla — 2006-10-14T10:50:27Z
*** This bug has been marked as a duplicate of 410 ***