blob: 2e369ebe67af174c641bcb5a84745aebfa4c25a8 [file] [log] [blame]
// RUN: %target-typecheck-verify-swift -swift-version 4
// Swift 3 used default literal types even for normal protocol constraints,
// which led to nonsensical type inference behavior.
// expected-note@+1{{in call to function 'f'}}
func f<T: ExpressibleByIntegerLiteral>(_: T = 0) { }
f() // expected-error{{generic parameter 'T' could not be inferred}}
// expected-note@+1{{'T' declared as parameter to type 'X'}}
struct X<T: ExpressibleByIntegerLiteral> {
func g() { }
}
X().g() // expected-error{{generic parameter 'T' could not be inferred}}
// expected-note@-1{{explicitly specify the generic arguments to fix this issue}}