On Fri, 13 May 2011 11:22:11 +0300, Daniel Gibson <[email protected]>
wrote:
It may be sane to just define that destructors are nothrow and if they
throw anyway to terminate the program.
What is the current behaviour anyway? ;)
D2 throws a FinalizeError (which is an Error, so "not recoverable").
D1 just allows the exception to propagate through the GC to whatever
caused a GC to run.
Both leave the GC in an indeterminate state, as far as I can tell.
--
Best regards,
Vladimir mailto:[email protected]