On Thursday, 1 May 2014 at 01:04:08 UTC, Steven Schveighoffer
wrote:
That means classes that need cleanup (either directly or by
having fields that are structs with destructors) would need to
garner that by other means, such as reference counting or
manual. We're considering deprecating ~this() for classes in
the future.
So essentially, any class with a dtor needs reference counting?
How does one clean up a cycle of them?
Yeah, what he said. This has me very worried. Making cycles is
actually incredibly easy. Any "inteligently" implemented
"node-based" data structure, implemented with classes, such as a
linked list, a tree or a graph, is virtually guaranteed to have a
cycle somewhere...
*Or*
is the idea that reference counting only works for finalization,
but the memory is still managed by the GC? In that case, the
destructors would leak, but the memory still be released?
That's still bad, of course, but not "as" bad...