On Thursday, 27 May 2021 at 00:05:24 UTC, Paul Backus wrote:
>On Wednesday, 26 May 2021 at 22:06:27 UTC, tsbockman wrote:
>On Wednesday, 26 May 2021 at 21:48:40 UTC, Paul Backus wrote:
>On Wednesday, 26 May 2021 at 18:53:21 UTC, vitoroak wrote:
In theory, these examples are fine, since they result in a null dereference,
No. That's what I thought at first, too, but if you walk through the code more carefully you will see that x1 never gets set to null, and still points to the old target of u1. So, he is correct.
I've opened issue #21981 requesting a fix.
Thanks, I see the problem now.
I guess the conclusion we're forced to come to is that, given current language rules, it is incorrect to mark the destructor as @trusted.
Yeah, my point is that if there's any way to make this @safe. The same happens for a Vector implementation where you can call push (that can reallocate) while having a reference to an element.
I also don't know a simple way to solve this problem but I think it's important if we want to sell D to have @nogc data structures.
Permalink
Reply