Swift Array () coerción ambigua sin más contexto, pero solo en extensión
Es legal decir esto arr
es una matriz):
let arrenum = Array(arr.enumerated())
Entonces, ¿por qué no es legal decir esto?
extension Array {
func f() {
let arrenum = Array(self.enumerated())
// error: type of expression is ambiguous without more context
}
}
EDITA Parece que esta es una solución alternativa:
extension Array {
func f() {
typealias Tup = (offset:Index, element:Element)
let arrenum = Array<Tup>(self.enumerated())
}
}
Pero, ¿por qué es necesario? (¿Y es correcto?)