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@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to