On Thu, 31 Jan 2013 14:22:24 -0500, Maxim Fomin <[email protected]> wrote:

On Thursday, 31 January 2013 at 18:59:20 UTC, Steven Schveighoffer wrote:
Structs by default are easily destroyed from the stack, but lack the fundamental cogs to get GC-based destruction.

-Steve

Perhaps _d_newitemT() and buddies can check whether it creates structs, store a collection of pointers to structs it allocates and at the end of program some druntime routine loops through out of the collection to run dtors?

What is needed is a precise GC, where the struct typeinfo and destructor are stored along with the block.

However, we ALSO need two functions, a destructor (Called from the stack deterministically) and a finalizer (called from the GC).

Like I said, this isn't an unsolvable problem, but neither is making classes reference counted.

-Steve

Reply via email to