[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) {}
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:



swift-users mailing list
swift-users at swift.org
-------------- 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