| /* REQUIRED_ARGS: -preview=dip1000 |
| TEST_OUTPUT: |
| --- |
| fail_compilation/test17423.d(27): Error: reference to local `this` assigned to non-scope parameter `dlg` calling `opApply` |
| fail_compilation/test17423.d(16): which is not `scope` because of `this.myDlg = dlg` |
| --- |
| */ |
| |
| // https://issues.dlang.org/show_bug.cgi?id=17423 |
| |
| struct Bar |
| { |
| int delegate(int) @safe myDlg; |
| |
| auto opApply(int delegate(int) @safe dlg) @safe { |
| myDlg = dlg; |
| return 0; |
| } |
| } |
| |
| struct Foo |
| { |
| Bar o; |
| int i = 3; |
| |
| this(int x) @safe { |
| foreach(_; o) { i = 0; } |
| i = x; |
| } |
| } |