| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail177.d(22): Error: cannot modify `immutable` expression `j` |
| fail_compilation/fail177.d(24): Error: cannot modify `const` expression `i` |
| fail_compilation/fail177.d(26): Error: cannot modify `const` expression `s1.x` |
| fail_compilation/fail177.d(27): Error: cannot modify `const` expression `*s1.p` |
| fail_compilation/fail177.d(29): Error: cannot modify `const` expression `s2.x` |
| fail_compilation/fail177.d(30): Error: cannot modify `const` expression `*s2.p` |
| --- |
| */ |
| |
| struct S |
| { |
| int x; |
| int* p; |
| } |
| |
| void test(const(S) s1, const S s2, const(int) i) |
| { |
| immutable int j = 3; |
| j = 4; |
| |
| i = 4; |
| |
| s1.x = 3; |
| *s1.p = 4; |
| |
| s2.x = 3; |
| *s2.p = 4; |
| } |