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