| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail12749.d(19): Error: immutable field 'inum' initialization is not allowed in foreach loop |
| fail_compilation/fail12749.d(20): Error: const field 'cnum' initialization is not allowed in foreach loop |
| fail_compilation/fail12749.d(25): Error: immutable field 'inum' initialization is not allowed in nested function 'set' |
| fail_compilation/fail12749.d(26): Error: const field 'cnum' initialization is not allowed in nested function 'set' |
| --- |
| */ |
| struct S |
| { |
| immutable int inum; |
| const int cnum; |
| |
| this(int i) |
| { |
| foreach (n; Aggr()) |
| { |
| inum = i; |
| cnum = i; |
| } |
| |
| void set(int i) |
| { |
| inum = i; |
| cnum = i; |
| } |
| } |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail12749.d(48): Error: immutable variable 'inum' initialization is not allowed in foreach loop |
| fail_compilation/fail12749.d(49): Error: const variable 'cnum' initialization is not allowed in foreach loop |
| fail_compilation/fail12749.d(54): Error: immutable variable 'inum' initialization is not allowed in nested function 'set' |
| fail_compilation/fail12749.d(55): Error: const variable 'cnum' initialization is not allowed in nested function 'set' |
| --- |
| */ |
| immutable int inum; |
| const int cnum; |
| static this() |
| { |
| int i = 10; |
| |
| foreach (n; Aggr()) |
| { |
| inum = i; |
| cnum = i; |
| } |
| |
| void set(int i) |
| { |
| inum = i; |
| cnum = i; |
| } |
| } |
| |
| struct Aggr |
| { |
| int opApply(int delegate(int) dg) { return dg(1); } |
| } |