Deterministic resource freeing - delete deprecation (again)

Jacob Carlborg doob at me.com
Wed Apr 27 09:26:38 PDT 2011


On 2011-04-27 17:41, Alexander wrote:
> On 27.04.2011 17:23, Steven Schveighoffer wrote:
>
>> I think the only difference between the destructor (finalizer) and dispose is
>> that dispose is guaranteed that all the memory is still allocated, whereas the finalizer is not given that guarantee.
>
>    Not really. Dispose() may be called more than once, there is no guarantee that resources are still allocated.

What I think Steven meant in this case is that when calling dispose, in 
Tango, any object will still be valid, i.e. the garbage collector hasn't 
collected it yet.

>> The name choice is no longer up for debate.  It's already set in print, and in the language.
>
>    Well, it took me some time to find it out "in print" and "in the language", given that everywhere on site no single reference to it, and in most recent D2 it doesn't work correctly.
>
>    Not to mention that it conflicts with std.container and std.array, where semantics of clear() is quite different (removes elements) - are those will be changed too?
>
> /Alexander


-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list