Is this a bug in Swift 3 compiler? It's not ambiguous, it's == and two Strings.
It says:
error: ambiguous reference to member '=='
let strs = things.filter { return $0.id == "1" } .map { t in
^~
For this example code:
class Thing {
var id: String = ""
}
let things = [Thing]()
let x = 1
let strs = things.filter { return $0.id == "1" } .map { t in
if x == 1 {
return "a"
}
else {
return "b"
}
}