https://issues.dlang.org/show_bug.cgi?id=19317

--- Comment #2 from Nicholas Wilson <iamthewilsona...@hotmail.com> ---
Hmm, the actual problem seems to be that _d_delThrowable takes a Throwable [1]
(N.B: not the most derived type) and after checking its not null, is ref
counted, and `GC.removeRange(t);`ing if necessary, proceeds to call rt_finalize
on it[2], which recursively calls the destructors of t and is parent classes
(i.e. Throwable and Object) but misses any derived destructors.

[1]: https://github.com/dlang/druntime/blob/master/src/rt/ehalloc.d#L76
[2]: https://github.com/dlang/druntime/blob/master/src/rt/ehalloc.d#L114

--

Reply via email to