On Sep 16, 2014, at 5:44 PM, Reid Kleckner <[email protected]> wrote: > I mean, there's got to be a way to inject some destructor cleanups into the > lambda, like: > > struct A { ~A(); }; > int f(A) { return 42; } > id test_dict() > { > return @{ > @"a": [x=f(A())]() { return x; }, > @"b": [x=f(A())]() { return x; } > }; > } > > Does this change affect where ~A gets called? >
With John’s suggested patch I sent earlier, cleanup code to effect conversion to block expression is moved to where outer-most expression (one passed to return) is seen. So, new patch does not affect where ~A gets called. - fariborz _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
