Destructor called while object is still alive

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Oct 23 19:46:52 UTC 2020


On Friday, 23 October 2020 at 19:39:52 UTC, Ola Fosheim Grøstad 
wrote:
> On Friday, 23 October 2020 at 19:23:03 UTC, frame wrote:
>> So how can I avoid this issue with DMD? Disabling any 
>> optimization? In fact it does not occur with debug mode 
>> enabled.
>>
>
> A dirty fix is to manually add the pointer as a GC root.

Another fix is to make the compiler think the end is reachable by 
warpping the infinitie loop in an if statements that tests 
something that the compiler cannot prove to be true. E.g.

if (alwaystrue()) inifinteloop



More information about the Digitalmars-d mailing list