---- On Tue, 07 Dec 2010 03:51:00 -0800 Stéphane Ducasse  wrote ---- 

>did you create an issue? 
>and where did you publish the code? 

I uploaded them to the PharoInbox, but as I said, only one minor change in 
SmallDictionary>>remove:  (adding a carrot "^" at the beginning) will fix the 
discrepancy between the two. But if the consensus is that Dictionary>>remove: 
and  Dictionary>>remove:ifAbsent: should not be implemented, maybe the same 
should be true of SmallDictionary as well.

>>>> Is anyone else bother[ed] by this inconsistency? 
>>> 
>>> Apparently not. Well, I uploaded two packages to the PharoInbox. One adds 
>>> #remove: and #remove:ifAbsent: to Dictionary 
>>> and updates SmallDictionary's implementations of those messages to return 
>>> the same value 
>> 
>> Regardless of what comes of those packages I uploaded, 
>> SmallDictionary>>remove: and SmallDictionary>>remove:ifAbsent: returning two 
>> different values is clearly a bug. Looking at it again, I was wrong about 
>> SmallDictionary>>remove:ifAbsent: returning the key; it does return the 
>> removed association. Which means at a minimum, SmallDictionary>>remove: only 
>> needs to have a ^ inserted at its beginning to fix the discrepancy. 
>> 
>>> - the association removed - rather than their current behavior of #remove: 
>>> returning self (no explicit return value) and 
>>> #remove:ifAbsent: returning the key of the removed association. 
>>> The second package adds #testRemove and 
>>> #testRemoveIfAbsent to DictionaryTest (through a trait). 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 
>


Reply via email to