[swift-users] Type of expression is ambiguous for static tuples

Adrian Zubarev adrian.zubarev at devandartist.com
Fri Sep 1 06:31:07 CDT 2017


It’s because the compiler does not support this yet. It’s the same with `let cgColor: CGColor = .clear.cgColor // will not work`.

Instead you need to write `UIColor.clear.cgColor` or in your case `Double.phythagoreanTruple.0`


Am 1. September 2017 um 12:17:57, Rudolf Adamkovič via swift-users (swift-users at swift.org) schrieb:

Given the following extension ...

extension Double {
    typealias Triple = (Double, Double, Double)
    static let pythagoreanTriple: Triple = (3, 4, 5)
}
... why does Swift compiler emits the following errors?

// Type of expression is ambiguous without more context
let a: Double = .pythagoreanTriple.0

// Type of expression is ambiguous without more context
func f(_ x: Double) {}
f(.pythagoreanTriple.0)
The errors disappear with explicit Double.pythagoreanTriple.0.

Why doesn't the compiler infer Double in this case?

FYI: Posted also to Stack Overflow here:

https://stackoverflow.com/questions/45998034/type-of-expression-is-ambiguous-for-static-tuples

R+

_______________________________________________
swift-users mailing list
swift-users at swift.org
https://lists.swift.org/mailman/listinfo/swift-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170901/f6b3455a/attachment.html>


More information about the swift-users mailing list