// RUN: %target-typecheck-verify-swift class A { var foo: Int? { return 42 } // expected-note {{found this candidate}} func baz() -> T { fatalError() } // expected-note {{found this candidate}} func fiz() -> Int { return 42 } // expected-note {{found this candidate}} } protocol P1 { associatedtype T var foo: Int? { get } // expected-note {{found this candidate}} func baz() -> T // expected-note {{found this candidate}} func fiz() -> Int // expected-note {{found this candidate}} } protocol P2 : P1 { var bar: Int? { get } } extension P2 where Self: A { var bar: Int? { guard let foo = foo else { return 0 } // expected-error {{ambiguous use of 'foo'}} let _ = baz() // expected-error {{ambiguous use of 'baz()'}} return fiz() // expected-error {{ambiguous use of 'fiz()'}} } }