Por que o Equatable não está definido para matrizes opcionais
Alguém pode me dar um bom motivo para isso não funcionar:
let a: [Int]? = [1]
let b: [Int]? = nil
a == b
Essa seria a minha solução proposta (se deselegante). Mas é trivial, então sinto que estou perdendo uma boa razão pela qual isso não foi implementado.
func ==<T: Equatable>(lhs: [T]?, rhs: [T]?) -> Bool {
if let lhs = lhs, let rhs = rhs {
return lhs == rhs
}
else if let _ = lhs {
return false
}
else if let _ = rhs {
return false
}
return true
}