blob: d639e76ba8af17bc8176afdda51ea919f22c0f00 [file] [log] [blame]
// RUN: %target-typecheck-verify-swift
// rdar://problem/21496715
protocol P1 {
func f() // expected-note{{protocol requires function 'f()' with type '() -> ()'}}
}
protocol Q1 {}
extension P1 where Self : Q1 {
func f() {} // expected-note{{candidate would match if 'X1' conformed to 'Q1'}}
}
struct X1 : P1 {} // expected-error{{type 'X1' does not conform to protocol 'P1'}}
// rdar://problem/21153652
protocol P2 {
func f()
}
struct X2 : P2 {
func f() {}
}
extension P2 where Self : Comparable {
func f() {}
}
// rdar://problem/19423637
protocol P3 {
func f() // expected-note{{protocol requires function 'f()' with type '() -> ()'}}
}
extension P3 where Self : Equatable {
func f() {} // expected-note{{candidate would match if 'X3' conformed to 'Equatable'}}
}
struct X3 : P3 {} // expected-error{{type 'X3' does not conform to protocol 'P3'}}