On Saturday, October 27, 2012 01:09:39 Alex Rønne Petersen wrote:
> On 27-10-2012 01:03, Minas wrote:
> > So the delete keyword has been deprecated - so good bye manual memory
> > management...
> 
> Um, no. Use destroy() from the object module instead.

Definitely, though it's important to note that what it's doing is inherently 
different. It destroys what you pass to it but does _not_ free the memory, 
which is why it's safer.

> To free memory
> from the GC, use core.memory.GC.free().

Yes. But using core.memory.GC.free is unsafe for the same reasons that delete 
is. It's just that it's a druntime function instead of a part of the language, 
so it's less likely for someone to free GC memory without knowing what they're 
doing. It's there because there _are_ times when it makes sense and is useful, 
but it's definitely not safe, so you have to be careful and know what you're 
doing.

- Jonathan M Davis

Reply via email to