Files
swift-mirror/test/Constraints/default_literals.swift
Pavel Yaskevich 0ecedfa5ea Revert "[ConstraintSystem] Make it possible to infer subtype bindings through argument conversions"
Reverts apple/swift#30006. It caused a regression that we'd like to address before re-landing:

```swift
struct X {
  var cgf: CGFloat
}

func test(x: X?) {
  let _ = (x?.cgf ?? 0) <= 0.5
}
```

This reverts commit 0a6b444b49.
This reverts commit ed255596a6.
This reverts commit 3e01160a2f.
This reverts commit 96297b7e39.

Resolves: rdar://problem/60185506
2020-03-07 20:16:56 -08:00

45 lines
920 B
Swift

// RUN: %target-typecheck-verify-swift
func acceptInt(_ : inout Int) {}
func acceptDouble(_ : inout Double) {}
var i1 = 1
acceptInt(&i1)
var i2 = 1 + 2.0 + 1
acceptDouble(&i2)
func ternary<T>(_ cond: Bool,
_ ifTrue: @autoclosure () -> T,
_ ifFalse: @autoclosure () -> T) -> T {}
_ = ternary(false, 1, 2.5)
_ = ternary(false, 2.5, 1)
// <rdar://problem/18447543>
_ = ternary(false, 1, 2 as Int32)
_ = ternary(false, 1, 2 as Float)
func genericFloatingLiteral<T : ExpressibleByFloatLiteral>(_ x: T) {
var _ : T = 2.5
}
var d = 3.5
genericFloatingLiteral(d)
extension UInt32 {
func asChar() -> UnicodeScalar { return UnicodeScalar(self)! }
}
var ch = UInt32(65).asChar()
// <rdar://problem/14634379>
extension Int {
func call0() {}
typealias Signature = (a: String, b: String)
func call(_ x: Signature) {}
}
3.call((a: "foo", b: "bar"))
var (div, mod) = (9 / 4, 9 % 4)