swiftlang/swift

[SR-3419] Strides should be collections

Open

#46,007 建立於 2016年12月14日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)Swift (69,989 star) (10,719 fork)batch import
affects ABIgood first issueimprovementstandard libraryswift evolution proposal needed

描述

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.

貢獻者指南