> 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.

probably.


>>>>> 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