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