[swift-evolution] [Pitch] Remove destructive consumption from Sequence
Haravikk
swift-evolution at haravikk.me
Fri Jul 1 02:34:03 CDT 2016
> On 30 Jun 2016, at 23:39, Dave Abrahams <dabrahams at apple.com> wrote:
> All multi-pass sequences can benefit from subscripts.
Sorry, not really what I meant, but rather; how many sequences are really going to use them?
> It's trivial; the index contains the iteration state. The only
> fundamental difference between the constraints on Iterator and the
> constraints on an Index is that Iterator doesn't support comparison for
> equality.
Won't this make implementing sequences more complex? Sequences are currently dead easy to implement, and to implement in an ad-hoc way via AnySequence(body:), how would that be done under this required indexing scheme? I just feel like things are easiest if Sequence is simply tweaked to require that it's iterators must be non-destructive, as implementing them will be just as easy, at which point it's just a matter of separating out which methods take Sequences and which take Iterators.
More information about the swift-evolution
mailing list