2011/1/23 Sean Eskapp <[email protected]>:
> 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