On Wednesday, 21 February 2018 at 11:12:01 UTC, Jiyan wrote:
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 :)
I think i found my solution: is it __xdtor? :P