SwiftBaseLibrary implements .reverse()/substact()/intersect() methods who have immutable semantics, however their Swift 3 conterparts have opposite semantics -> they are mutable and instead of returning a resulting collection, modify the caller.
Therefore SwiftBaseLibrary .reverse()/substact()/intersect() should be deprecated in favor of swift semantics matching .reversed()/.intersection()/.subtracting().
That pull request has a lot of changes that seem unrelated to this (e.g. adding type aliases such as +public typealias SignedInteger = ISignedIntegerType?
Can you create one with just the relevant changes?
@mh I guess I didn’t describe it properly. SignedInteger and other numeric aliases has been added since their naming changed in Swifr3, I haven’t removed any Swift2 numeric protocol aliases to make sure no existing stuff breaks.
You mean I should seperate them into 2 pull requests?
Thanx. for the integer protocols. does Swift 3 keep both names, with and w/o Type suffix? if not, woudln’t it make more sense to rename those, rather than alias? (as a side node, these new names are terrible, IMHO
Thanks for merging the changes. No swift3 doesn’t keep the both names.
I aliased them so that existing elements code that might utilize swift2 protocol names won’t break.
I should have marked them with @deprecated I guess. It can be done in two steps. Deprecating them that will issue the warning, then in the next more or less primary release deleting the old ones.