Ich möchte die Gleichheit zweier Swift-Enum-Werte testen. Beispielsweise:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
Der Compiler kompiliert den Gleichheitsausdruck jedoch nicht:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
Muss ich meine eigene Überladung des Gleichheitsoperators definieren? Ich hatte gehofft, der Swift-Compiler würde das automatisch erledigen, ähnlich wie Scala und Ocaml.