> On 17 Feb 2017, at 16:53, Vladimir.S via swift-evolution > <[email protected]> wrote: > > Btw, in context of discussion of indices, > should this be fixed soon: > > func function<C: Collection>(c: C) { > for index in c.indices { > print(c[index]) > } > } > ERROR: cannot subscript a value of type 'C' with an index of type > 'C.Indices.Iterator.Element' > > ? > (have access for Swift 3.0.2 Release only for now, so probably this already > fixed in dev version)
This will work once SE-0142 "Permit where clauses to constrain associated types" (https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md) is implemented and the standard library takes advantage of this. For the time being, you need to add an explicit constraint to the function: func function<C: Collection>(c: C) where C.Indices.Iterator.Element == C.Index { for index in c.indices { print(c[index]) } } _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
