Yes, that's definitely an oversight. 

That being said, the example is also actually incorrect, because AFAIK it's not 
possible to conform a type T to multiple protocols A and B, and have A.Element 
and B.Element be different types (i.e. the constraint is redundant). So it 
should be rewritten as well.

Austin

> On May 26, 2016, at 8:00 AM, Matthew Johnson via swift-evolution 
> <[email protected]> wrote:
> 
> 
>> On May 26, 2016, at 9:54 AM, Jan E. Schotsman via swift-evolution 
>> <[email protected]> wrote:
>> 
>> In the "where clause" section, shouldn't this be allowed:
>> 
>> let a : Any<Collection, SetAlgebraType where Collection.Element == 
>> SetAlgebraType.Element>
>> 
>> I am asking because the acceptable type equality constraint is stated as:
>> 
>> Type equality constraint: X == ConcreteType
> 
> Yes, you should definitely be able to equate two associate types!  If the 
> proposal isn’t clear about that it is probably just an oversight.  Good catch!
> 
>> 
>> Jan E.
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to