blob: 27f3907d036aec932e4a40d4b4e9138779f25a96 [file] [log] [blame]
// RUN: %target-typecheck-verify-swift
// rdar://problem/31401161
class C1 {}
protocol P1 {
associatedtype Element
}
protocol P2 : P1 {
associatedtype SubSequence : P1 // expected-note{{'SubSequence' declared here}}
}
protocol P3 : P2 {
associatedtype SubSequence : P2 // expected-warning{{redeclaration of associated type 'SubSequence' from protocol 'P2' is better expressed as a 'where' clause on the protocol}}
}
func foo<S>(_: S) where S.SubSequence.Element == C1, S : P3 {}