2011/1/23 Sean Eskapp <eatingstap...@gmail.com>: > I want to be able to access the enclosing scope, but NOT after the function > has > exited; I should have the option of accessing the enclosing scope, but at the > cost > of making my delegate not a closure. >
Until we have a dedicated syntax for it, I think you can use this hack: import std.traits; auto scopeDelegate(D)(scope D d) if (isDelegate!D) { return d; } int main() { StructWithDtor s; trustedFunction(scopeDelegate({s.a = 5;}); // No heap allocation } Torarin