On 11/6/16 10:57 PM, Era Scarecrow wrote:
On Monday, 7 November 2016 at 02:22:35 UTC, Steven Schveighoffer wrote:
OP: it's not legal to destroy or even access GC allocated members in a
destructor. The GC may have already destroyed that data. I would
recommend printing the stack trace when you get the exception, and
figure out where the culprit is.

 Err.... that makes no sense... If that's the case why have a destructor
at all?

To free non-GC resources.

http://dlang.org/spec/class.html#destructors

"Furthermore, the order in which the garbage collector calls destructors for unreference objects is not specified. This means that when the garbage collector calls a destructor for an object of a class that has members that are references to garbage collected objects, those references may no longer be valid. This means that destructors cannot reference sub objects."

-Steve

Reply via email to