/* TEST_OUTPUT: --- fail_compilation/fail66.d(11): Error: constructor `fail66.C1.this` missing initializer for const field `y` --- */ class C1 { const int y; this() {} } /* TEST_OUTPUT: --- fail_compilation/fail66.d(28): Error: cannot modify `const` expression `c.y` --- */ class C2 { const int y; this() { y = 7; } } void test2() { C2 c = new C2(); c.y = 3; } /* TEST_OUTPUT: --- fail_compilation/fail66.d(43): Error: cannot modify `const` expression `this.y` --- */ class C3 { const int y; this() { y = 7; } void foo() { y = 6; } } /* TEST_OUTPUT: --- fail_compilation/fail66.d(59): Error: cannot modify `const` expression `x` --- */ class C4 { static const int x; static this() { x = 5; } void foo() { x = 4; } } /* TEST_OUTPUT: --- fail_compilation/fail66.d(73): Error: cannot modify `const` expression `z5` --- */ const int z5; static this() { z5 = 3; } void test5() { z5 = 4; } /* TEST_OUTPUT: --- fail_compilation/fail66.d(89): Error: cannot modify `const` expression `c.y` --- */ class C6 { const int y; this() { C6 c = this; y = 7; c.y = 8; } }