On Tuesday, 14 March 2017 at 14:35:11 UTC, Inquie wrote:
There is really no any arrays to keep track of or anything like that matter you stated.
...
3 steps:
...
3. The compiler calls all the delegates on destruction.

Here you are. "All the delegates" - where are they stored? This is the array of delegates I was talking about.

In a library solution you don't even need to think about the string mixins and variables copying. Just make a method that takes a delegate. Then call it like this:
scopeThis({ dealloc(x); });
The compiler will create the delegate for you and store x in the heap in the first place. In scopeThis() you just add the passed delegate to an array of other delegates, then in destructor call them. Seems rather trivial, I don't see a need for a language feature that affects all the classes and objects.

Reply via email to