forcing "@nogc" on class destructors

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Fri Jan 23 13:00:08 PST 2015


On 1/23/15 3:40 PM, deadalnix wrote:
> On Friday, 23 January 2015 at 13:12:44 UTC, Steven Schveighoffer wrote:
>> On 1/23/15 8:05 AM, Matthias Bentrup wrote:
>>> On Friday, 23 January 2015 at 10:53:54 UTC, aldanor wrote:
>>>> On Friday, 23 January 2015 at 08:58:11 UTC, Ola Fosheim Grøstad wrote:
>>>>> How about banning GC-allocation of classes with destructors?
>>>> Uh... what? ^__^
>>>>
>>>> Maybe just ban classes altogether then?
>>>
>>> No, don't ban them, that will break to much code. Just don't execute
>>> them. Any application that depends on destructors being called by the GC
>>> is broken in 9 out of 10 cases anyway.
>>
>> This is very wrong.
>
> This is as per spec :)

No, spec says your dtor is not guaranteed to run for unreferenced 
memory. It doesn't say your destructor may not be run even when the 
memory is collected. In fact, it says "The garbage collector calls the 
destructor function when the object is deleted."

But my real point is that depending on dtors being called by the GC is 
not broken 90% of the time.

-Steve


More information about the Digitalmars-d mailing list