Destructing Struct

Jiyan jiyan at jiyan.info
Wed Feb 21 11:12:01 UTC 2018


Hi :),

What i thought was that when i create a struct dynamically i can 
just deconstruct it with __dtor lets say:

struct U {...}
struct S {... private U _member;}

S* p;
p = cast(S*)malloc(S.sizeof);

// just run that if it compiles, for simplicity
// we dont use __traits(compiles, ...)
p.__dtor;

The thing here is that this doesn't work because of when S has an 
element that that is private and has a __dtor itself, the __dtor 
from U doesnt get called before the call of __dtor from S - or 
after.

Is there any way with traits or sth to do that?

Are delete, destroy or any other functions the standard library 
working here?
I would prefer a solution that can be build by myself - so 
without the standard library for example with traits.

Thanks :)



More information about the Digitalmars-d-learn mailing list