https://issues.dlang.org/show_bug.cgi?id=16179
John Colvin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |john.loughran.colvin@gmail. | |com --- Comment #2 from John Colvin <[email protected]> --- Here's a subtly different example that doesn't actually access the frame, but the compiler says it does: import std.algorithm : multiSort; struct N { string p; string q; } auto foo(N[] t) { t.multiSort!((u, v) => u.q < v.q, (u, v) => u.p < v.p); } with a similar error message: phobos/std/algorithm/sorting.d(897): Error: static function blah.foo.multiSortImpl!((u, v) => u.q < v.q, (u, v) => u.p < v.p).multiSortImpl cannot access frame of function blah.foo phobos/std/algorithm/sorting.d(915): Error: static function blah.foo.multiSortImpl!((u, v) => u.p < v.p).multiSortImpl cannot access frame of function blah.foo phobos/std/algorithm/sorting.d(902): Error: template instance blah.foo.multiSortImpl!((u, v) => u.p < v.p) error instantiating phobos/std/algorithm/sorting.d(929): instantiated from here: multiSortImpl!((u, v) => u.q < v.q, (u, v) => u.p < v.p) blah.d(11): instantiated from here: multiSort!(N[]) note that the error message also exhibits https://issues.dlang.org/show_bug.cgi?id=16401 so it's possible this is actually a compiler bug --
