Voglio testare l'uguaglianza di due valori di enumerazione Swift. Per esempio:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
Tuttavia, il compilatore non compilerà l'espressione di uguaglianza:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
Devo definire il mio sovraccarico dell'operatore di uguaglianza? Speravo che il compilatore Swift lo gestisse automaticamente, proprio come fanno Scala e Ocaml.