| // https://bugzilla.gdcproject.org/show_bug.cgi?id=122 | |
| // { dg-do compile } | |
| struct map(alias fun) | |
| { | |
| @property run() | |
| { | |
| } | |
| } | |
| struct Task(Args) | |
| { | |
| Args _args; | |
| } | |
| class TaskPool | |
| { | |
| template reduce(functions...) | |
| { | |
| auto reduce(Args)(Args args) | |
| { | |
| alias RTask = Task!(typeof(args)); | |
| auto task = RTask(); | |
| } | |
| } | |
| } | |
| TaskPool taskPool() { | |
| return new TaskPool; | |
| } | |
| void test122() | |
| { | |
| enum delta = 1; | |
| taskPool.reduce!"a + b"(map!({ immutable x = delta; })()); | |
| } |