Program crash: GC destroys an object unexpectedly

eugene dee0xeed at gmail.com
Thu Sep 23 14:00:30 UTC 2021


On Thursday, 23 September 2021 at 12:53:14 UTC, Steven 
Schveighoffer wrote:
> With the caveat, of course, that the recommendation to "leave a 
> pointer on the stack" is not as easy to follow as one might 
> think with the optimizer fighting against that. We need to add 
> a better way to do that (similar to C# KeepAlive). I made an 
> [attempt](https://code.dlang.org/packages/keepalive), but I 
> think it's not guaranteed to work, I've already found ways to 
> prove it fails.

For the moment I am personally quite happy
with any reasonable workaround
(use an object in the end of the main function,
put the reference to an object into some AA, whatever),
because now I firmly understand,
that the source of strange GC behavior
is DSE optimization (in this case).



More information about the Digitalmars-d-learn mailing list