https://issues.dlang.org/show_bug.cgi?id=15246
--- Comment #8 from Marco Leise <[email protected]> --- We "finalize" them through the helper function `rt_finalize` mentioned earlier, which calls the __dtor's in sequence and is the only place that also handles destruction of the hidden "monitor" field if it was used. It is wrapped in object.d as: void destroy(T)(T obj) if (is(T == class)) { rt_finalize(cast(void*)obj); } destroy() complete object finalization + memory reinitialized to .init __xdtor same as __dtor + destroys any RAII members __dtor the ~this() function as defined in the source (That's how I remember it. May be inaccurate.) --
