[swift-evolution] Removing enumerated?

Ole Begemann ole at oleb.net
Tue Jan 31 09:19:51 CST 2017

On 31/01/2017 15:24, Chris Eidhof via swift-evolution wrote:
> There are a couple of things that keep coming up, and a couple of
> mistakes that I see people making over and over again. One of them is
> that in almost every workshop, there's someone who thinks that
> `enumerated()` returns a list of (index, element) pairs. This is only
> true for arrays. It breaks when using array slices, or any other kind of
> collection. In our workshops, I sometimes see people doing something
> like `x.reversed().enumerated()`, where `x` is an array, and somehow it
> produces behavior they don't understand.
> A few ways I think this could be improved:
> - Move enumerated to Array
> - Change enumerated to return `(Index, Iterator.Element)` (this would
> mean we at least need to move it to collection)
> - Remove enumerated
> - Keep things as is

Here are three previous discussion about this topic:

1) December 2015: [Idea] Add an (Index,	Element) sequence to CollectionType

2) April 2016: [Idea] Replace enumerate() with something more explicit

3) September 2016: [Proposal draft] Introducing `indexed()`	collections

More information about the swift-evolution mailing list