| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail10947.d(21): Error: cannot have `immutable out` parameter of type `immutable(S)` |
| fail_compilation/fail10947.d(22): Error: cannot have `immutable out` parameter of type `immutable(S)` |
| fail_compilation/fail10947.d(23): Error: cannot have `immutable out` parameter of type `immutable(S)` |
| fail_compilation/fail10947.d(25): Error: cannot have `const out` parameter of type `const(S)` |
| fail_compilation/fail10947.d(26): Error: cannot have `const out` parameter of type `const(S)` |
| fail_compilation/fail10947.d(27): Error: cannot have `const out` parameter of type `const(S)` |
| fail_compilation/fail10947.d(29): Error: cannot have `inout out` parameter of type `inout(S)` |
| fail_compilation/fail10947.d(30): Error: cannot have `inout out` parameter of type `inout(S)` |
| fail_compilation/fail10947.d(31): Error: cannot have `inout out` parameter of type `inout(S)` |
| --- |
| */ |
| |
| struct S {} |
| alias SI = immutable S; |
| alias SC = const S; |
| alias SW = inout S; |
| |
| void fooi1(out SI) {} |
| void fooi2(out immutable(S)) {} |
| void fooi3(out immutable S) {} |
| |
| void fooc1(out SC) {} |
| void fooc2(out const(S)) {} |
| void fooc3(out const S) {} |
| |
| void foow1(out SW) {} |
| void foow2(out inout(S)) {} |
| void foow3(out inout S) {} |