| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/diag14102.d(14): Error: `-x` is not an lvalue and cannot be modified |
| fail_compilation/diag14102.d(15): Error: `-(x -= 1)` is not an lvalue and cannot be modified |
| fail_compilation/diag14102.d(16): Error: `-(x -= 1 -= 1)` is not an lvalue and cannot be modified |
| fail_compilation/diag14102.d(17): Error: `-(x -= 1 -= 1 -= 1)` is not an lvalue and cannot be modified |
| --- |
| */ |
| |
| int main() |
| { |
| int x; |
| return -- -x; // error: -x is not an lvalue |
| return -- - --x; // error: -(x -= 1) is not an lvalue |
| return -- - -- --x; // error: -((x -= 1 , x) -= 1) is not an lvalue |
| return -- - -- -- --x; // error: -((ref int __assignop1 = x -= 1 , __assignop1 = x; , __assignop1 -= 1 , __assignop1) -= 1) is not an lvalue |
| } |