[2.0] Remove deprecation of delete hash[key] (and change its

Bruno Medeiros brunodomedeiros+spam at com.gmail
Wed Mar 5 04:52:01 PST 2008


Leonard Dahlmann wrote:
> Jesse Phillips Wrote:
> 
>> On Mon, 11 Feb 2008 12:18:10 -0200, Leandro Lucarella wrote:
>>
>>> When doing: delete hash[key] in D 1.0, there is a deprecation error
>>> about being an old syntax for hash.remove(key). So now, if you have an
>>> hash of objects, and you want to do explicit memory deallocation, you
>>> have to do something like this:
>>>
>>> auto tmp = hash[key];
>>> hash.remove(key);
>>> delete tmp;
>>>
>>> Which is ugly and nonsense. Maybe remove it from 1.0 could be
>>> contraversial, but I think there is no point in conserving this ugly
>>> behaviour in 2.0.
>> I can't test it now, but I would think that hash.remove(key) would return 
>> the removed value. Couldn't find mention in the docs but if it is true
>>
>> delete hash.remove(key);
>>
>> should work.
> 
> Even if remove does return the removed value, it won't work,
> since delete needs a lvalue.

I added a bug/enhancement report for that:
http://d.puremagic.com/issues/show_bug.cgi?id=1893

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list