swiftlang/swift

[SR-3419] Strides should be collections

Open

#46,007 创建于 2016年12月14日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Swift (10,719 fork)batch import
affects ABIgood first issueimprovementstandard libraryswift evolution proposal needed

仓库指标

Star
 (69,989 star)
PR 合并指标
 (平均合并 8天 17小时) (30 天内合并 510 个 PR)

描述

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.

贡献者指南