| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(11): Error: cannot implicitly convert expression `q` of type `const(char)[]` to `char[]` |
| --- |
| */ |
| void test1() |
| { |
| char[] p; |
| const(char)[] q; |
| p = q; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(24): Error: cannot implicitly convert expression `p` of type `const(int***)` to `const(int)***` |
| --- |
| */ |
| void test2() |
| { |
| const int*** p; |
| const(int)*** cp; |
| cp = p; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(37): Error: cannot modify `const` expression `p` |
| --- |
| */ |
| void test3() |
| { |
| const(uint***) p; |
| const(int)*** cp; |
| p = cp; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(50): Error: cannot implicitly convert expression `cp` of type `const(int)***[]` to `const(uint***)[]` |
| --- |
| */ |
| void test4() |
| { |
| const(uint***)[] p; |
| const(int)***[] cp; |
| p = cp; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(63): Error: cannot modify `const` expression `*p` |
| --- |
| */ |
| void test5() |
| { |
| int x; |
| const(int)* p = &x; |
| *p = 3; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(76): Error: cannot implicitly convert expression `& x` of type `int*` to `immutable(int)*` |
| fail_compilation/fail163.d(77): Error: cannot modify `immutable` expression `*p` |
| --- |
| */ |
| void test6() |
| { |
| int x; |
| immutable(int)* p = &x; |
| *p = 3; |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail163.d(89): Error: cannot implicitly convert expression `& x` of type `const(int)*` to `int*` |
| --- |
| */ |
| void test7() |
| { |
| const(int) x = 3; |
| int* p = &x; |
| } |