| // REQUIRED_ARGS: -o- |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/failattr.d(16): Error: variable failattr.C2901.v1 cannot be synchronized |
| fail_compilation/failattr.d(17): Error: variable failattr.C2901.v2 cannot be override |
| fail_compilation/failattr.d(18): Error: variable failattr.C2901.v3 cannot be abstract |
| fail_compilation/failattr.d(19): Error: variable failattr.C2901.v4 cannot be final, perhaps you meant const? |
| fail_compilation/failattr.d(31): Error: variable failattr.C2901.v13 cannot be final abstract synchronized override |
| fail_compilation/failattr.d(33): Error: variable failattr.C2901.v14 cannot be final, perhaps you meant const? |
| --- |
| */ |
| class C2901 |
| { |
| synchronized int v1; // error |
| override int v2; // error |
| abstract int v3; // error |
| final int v4; // error |
| |
| synchronized { int v5; } // no error |
| override { int v6; } // no error |
| abstract { int v7; } // no error |
| final { int v8; } // no error |
| |
| synchronized: int v9; // no error |
| override: int v10; // no error |
| abstract: int v11; // no error |
| final: int v12; // no error |
| |
| synchronized override abstract final int v13; // one line error |
| |
| static final int v14; // error, even if static is applied at the same time |
| } |