> 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

Reply via email to