On Sunday, 22 July 2012 at 18:14:21 UTC, Namespace wrote:
On Sunday, 22 July 2012 at 17:41:33 UTC, Ali Çehreli wrote:
On 07/22/2012 09:27 AM, Mafi wrote:
>> Unfortunately it has a bad name, which is going to be
changed.
> Really? I thought we have to stay with this name now. In my
> opinion this name is quite bad, especially in the presence of
> UFCS. What is going to be changed to? destroy()?
Yep! :) It should be available in 2.060:
// Scheduled for deprecation in December 2012.
// Please use destroy instead of clear.
https://github.com/D-Programming-Language/druntime/blob/master/src/object.di#L682
Ali
And how do I check if my object is still valid?
AFAIK, there are no invalid objects in D*. structs don't have
default constructors, because they all have a compile time "init"
value which they are filled with when
"emptied"/"moved"/"cleared". Ergo, even after being "destroyed",
they are still valid.
Arrays are set to a null slice.
Pointers and class references are set to null.
To check a class reference, then "if(instance is null)" should do
what you want BTW.
*Provided you don't go out of your way to give them an invalid
state, of course.