dip1000 and preview in combine to cause extra safety errors
deadalnix
deadalnix at gmail.com
Wed Jun 8 16:58:41 UTC 2022
On Wednesday, 8 June 2022 at 16:32:25 UTC, John Colvin wrote:
>> There is no frame of reference in which this result is in any
>> way reasonable.
>
> My guess is that technically `foo` has undefined behaviour.
Sure, but that also mean it could format your hard drive, and
it'd be hard to argue this is reasonable.
If the compiler understands of what's going on to decide it can
recycle the memory, it understands enough to tell you you are
using it after freeing and if it cannot, then it shouldn't do it.
In this case specifically, assuming the compiler see the memory
doesn't escape and promoting [c] on stack, it should still do the
right thing. That means the compiler is somehow getting out of
its way to break the code.
That doesn't sound reasonable, no matter how you slice it.
More information about the Digitalmars-d
mailing list