Destructor nonsense on dlang.org

Thor Thor at hotmail.com
Thu May 24 05:48:22 PDT 2012


On Thursday, 24 May 2012 at 12:38:45 UTC, Alex Rønne Petersen 
wrote:
> On 24-05-2012 14:33, Thor wrote:
>> On Thursday, 24 May 2012 at 12:21:02 UTC, Alex Rønne Petersen 
>> wrote:
>>> Hi,
>>>
>>> http://dlang.org/class.html#Destructor
>>>
>>> "The garbage collector is not guaranteed to run the 
>>> destructor for all
>>> unreferenced objects."
>>>
>>> What the *hell*? So resources are allowed to arbitrarily leak 
>>> and the
>>> programmer has to actually expect this to happen?
>>>
>>> I really, really hope that this is a documentation error or 
>>> early
>>> design decision that has since been rectified but with lack of
>>> documentation updates.
>>
>> use "clear", or "scope (exit)" or "structs" or scoped!... etc.
>
> I know.
>
>>
>> There could always be a false reference... so you cannot 
>> depend on
>> automatically releasing resources in a class destructor.
>>
>
> False pointers have nothing to do with it. The GC should free 
> and finalize all objects on shutdown, meaning the finalizer 
> runs *sooner or later*. If this is the case (which I do believe 
> it is), then the docs are very wrong.

__gshared uint my_false_ptr;

even if we are shutting down, the static references doesn't 
disappear... or did I miss something?



More information about the Digitalmars-d mailing list