// RUN: %target-typecheck-verify-swift -swift-version 3 // Swift 3 used default literal types even for normal protocol constraints, // which led to nonsensical type inference behavior. func f(_: T = 0) { } f() struct X { func g() { } } X().g()