// RUN: %target-typecheck-verify-swift enum E : String { case foo = "foo" case bar = "bar" // expected-note {{did you mean 'bar'?}} } func fe(_: E) {} func fe(_: Int) {} func fe(_: Int, _: E) {} func fe(_: Int, _: Int) {} fe(E.baz) // expected-error {{type 'E' has no member 'baz'}} fe(.baz) // expected-error {{reference to member 'baz' cannot be resolved without a contextual type}} // FIXME: maybe complain about .nope also? fe(.nope, .nyet) // expected-error {{reference to member 'nyet' cannot be resolved without a contextual type}} func fg(_ f: (T) -> T) -> Void {} // expected-note {{in call to function 'fg'}} fg({x in x}) // expected-error {{generic parameter 'T' could not be inferred}} // FIXME: Both f & g should complain about ambiguity of arg1, but in both cases the generic member // never gets into the list of candidates in the first place. struct S { func f(_ i: (T) -> T, _ j: Int) -> Void {} func f(_ d: (Double) -> Double) -> Void {} func test() -> Void { f({x in x}, 2) // expected-error {{extra argument in call}} } func g(_ a: T, _ b: Int) -> Void {} func g(_ a: String) -> Void {} func test2() -> Void { g(.notAThing, 7) // expected-error {{extra argument in call}} } func h(_ a: Int, _ b: Int) -> Void {} func h(_ a: String) -> Void {} func test3() -> Void { h(.notAThing, 3) // expected-error {{type 'Int' has no member 'notAThing'}} h(.notAThing) // expected-error {{type 'String' has no member 'notAThing'}} } }