Chcę przetestować równość dwóch wartości szybkiego wyliczenia. Na przykład:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
Jednak kompilator nie skompiluje wyrażenia równości:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
Czy mam zdefiniować własne przeciążenie operatora równości? Miałem nadzieję, że kompilator Swift poradzi sobie z tym automatycznie, podobnie jak robią to Scala i Ocaml.