GC.collect bug ?
Maxim Fomin
maxim at maxim-fomin.ru
Sun Sep 15 10:55:37 PDT 2013
On Friday, 13 September 2013 at 15:24:17 UTC, Temtaime wrote:
> Hello for all !
>
> I need to call all objects destructors in one place.
> It's guaranted, that there is no objects instances.
>
> I tried use GC.collect but it's produces strange results.
>
> import std.stdio;
> import core.memory;
>
> class A {
> ~this() { writeln(`dtor`); };
> };
>
> void main() {
> auto a = new A;
> a = null;
>
> GC.collect();
> writeln(`after dtor`);
> }
>
> Output is:
> after dtor
> dtor
>
> Why?
>
> Regards.
For me it prints dtor - after dtor in case of pure compilation.
In general it depends on compiler switches and druntime.
More information about the Digitalmars-d-learn
mailing list