Nicolas Cellier uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-nice.770.mcz
==================== Summary ====================
Name: Collections-nice.770 Author: nice Time: 30 November 2017, 6:01:07.729917 pm UUID: bab44976-95d4-e142-a0f7-eb954c3c237c Ancestors: Collections-tpr.769
Let CharacterSet union: work as expected and answer a (Wide)CharacterSet(Complement) when possible.
=============== Diff against Collections-tpr.769 ===============
Item was added: + ----- Method: CharacterSet>>union: (in category 'enumerating') ----- + union: aCollection + (self species = aCollection species or: [aCollection isString]) ifFalse: [^super union: aCollection]. + aCollection class = CharacterSetComplement ifTrue: [^aCollection union: self]. + ^self copy addAll: aCollection; yourself!
Item was added: + ----- Method: CharacterSetComplement>>intersection: (in category 'enumerating') ----- + intersection: aCollection + aCollection class = self class ifTrue: [^(self complement union: aCollection complement) complement]. + ^(aCollection intersection: self) as: CharacterSet!
Item was added: + ----- Method: CharacterSetComplement>>union: (in category 'enumerating') ----- + union: aCollection + aCollection class = self class ifTrue: [^(self complement intersection: aCollection complement) complement]. + (aCollection species = CharacterSet or: [aCollection isString]) ifFalse: [^self error: 'no way to compute the union, this collection is too big']. + ^(absent reject: [:e | aCollection includes: e]) complement!
Item was added: + ----- Method: WideCharacterSet>>union: (in category 'enumerating') ----- + union: aCollection + (self species = aCollection species or: [aCollection isString]) ifFalse: [^super union: aCollection]. + ^self copy addAll: aCollection; yourself!
packages@lists.squeakfoundation.org