Why is "delete" unsafe?

Simen Kjærås simen.kjaras at gmail.com
Wed Sep 23 06:39:21 UTC 2020


On Wednesday, 23 September 2020 at 04:15:51 UTC, mw wrote:
>> 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.
>
> What do you mean by saying "it's definitely not safe" here?
>
> I mean: if I'm careful and know what I'm doing, e.g. remove all 
> the reference to  any part of the `object` before call 
> core.memory.GC.free(object), is there still any inherit 
> "unsafe" side of `free` I should be aware of?
>
> FYI: I just described my use case here:
>
> https://forum.dlang.org/post/hzryuifoixwwywwifwbz@forum.dlang.org

If there are no lingering references, the function calling free() 
can safely be made @trusted.

--
   Simen


More information about the Digitalmars-d-learn mailing list