swiftlang/swift

[SR-3419] Strides should be collections

Open

#46,007 opened on Dec 14, 2016

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Swift (69,989 stars) (10,719 forks)batch import
affects ABIgood first issueimprovementstandard libraryswift evolution proposal needed

Description

Previous ID SR-3419
Radar rdar://problem/17816925
Original Reporter @airspeedswift
Type Improvement
Votes 0
Component/s Standard Library
Labels Improvement, AffectsABI, StarterProposal, swift-evolution-proposal-needed
Assignee None
Priority Medium

md5: 20684cd6a789b38a9426158bdf2d0b60

Issue Description:

In Swift 3.0, StrideTo and StrideThrough conform to Sequence, but not Collection.

While they can't be bi-directional or random-access, as the last (or abitrary) element can't necessarily be reached in O( n ) for all strideable types, it should be possible to make them forward-only collections. One straightforward implementation would be to make the index each value zipped with a count (for Comparable purposes).

Once we have conditional conformance, it should be possible to make specific strides (e.g. ones over integers) conform to random access.

Contributor guide

[SR-3419] Strides should be collections · swiftlang/swift#46007 | Good First Issue