blob: 5c352a52093983de51bb529b6a9ff1560941f0e6 [file] [log] [blame]
/*
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;
}
}