swiftlang/swift

[SR-888] Sequence.minElement() and maxElement() should be protocol requirements (customization points)

Open

#43,500 opened on Mar 6, 2016

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Swift (10,719 forks)batch import
affects ABIgood first issuestandard libraryswift evolution proposal needed

Repository metrics

Stars
 (69,989 stars)
PR merge metrics
 (Avg merge 8d 17h) (510 merged PRs in 30d)

Description

Previous ID SR-888
Radar rdar://problem/24999603
Original Reporter @gribozavr
Type Bug
Status In Progress
Resolution
Votes 0
Component/s Standard Library
Labels Bug, AffectsABI, StarterBug, StarterProposal, swift-evolution-proposal-needed
Assignee akhilmantha (JIRA)
Priority Medium

md5: 38f233c0b4c0d1508b74875d0c159d05

Issue Description:

Some collections naturally maintain sorted order and can implement `minElement()` and `maxElement()` in O(1). Thus, these algorithms should be protocol requirements to allow collection-specific customizations.

Note that `minElement()` and `maxElement()` that take predicates should continue to be pure extensions.

Contributor guide