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.