I appreciate that broader concerns have been brought up on this review thread. Those can be factored in to deciding whether a rename is warranted. However, changing Sequence
or Collection
in any way beyond what this proposal outlines — which is focused in the renaming of a single method — is very much beyond the scope of this proposal review. At this point such discussion is likely adding diminishing signal to the review of this particular proposal.
I recommend that broader discussion about the nature of the Sequence
and Collection
protocols — and any broader ideas about how they could be changed — should be taken off this thread and brought back to the general evolution discussion or pitches categories. I am recommending this not to shoot down ideas, but rather steer that discussion to the right place in the forums and allow this thread to focus on the specific proposed change in the review.
The review period for this proposal is almost over. What discussion on this thread should be focused on at this point is whether or not the method elementsEqual
in Sequence
should be renamed, and if so what justifies that change.
When considering the rename itself, I'd like to call out that we are beyond the point of just renaming methods just for the sake of polishing up APIs. Here are the source compatibility goals for Swift 5 (and hence Swift 4.2):
Source-breaking changes in Swift 5 will have an even higher bar than in Swift 4, following these guidelines:
- The current syntax/API must be shown to actively cause problems for users.
- The new syntax/API must be clearly better and must not conflict with existing Swift syntax.
- There must be a reasonably automated migration path for existing code.
For those in favor of a rename, please keep in mind that this is the core criteria for any source-breaking change.
Thank you to all who have put so much energy into the review discussion!