On 7/16/23 11:41 PM, Alain De Vos wrote:
The following program prints two different addresses. Meaning the new allocates memory until the program dies. So the means memory leak by default ?``` import std.stdio:writefln; import object: destroy; import core.memory: GC; void dofun(){ auto a=new int[1000]; writefln("%12x",&a); destroy(a); GC.free(a.ptr); } int main(){ dofun(); auto b=new int[1000]; writefln("%12x",&b); return 0; } ```
No, what I am trying to explain is that `destroy(a)` is literally equivalent to `a = null`.
If you then `free(a)` do you think it does anything? -Steve
