Tôi muốn kiểm tra sự bằng nhau của hai giá trị Swift enum. Ví dụ:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
Tuy nhiên, trình biên dịch sẽ không biên dịch biểu thức đẳng thức:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
Tôi có định nghĩa quá tải của riêng mình cho toán tử đẳng thức không? Tôi đã hy vọng trình biên dịch Swift sẽ tự động xử lý nó, giống như Scala và Ocaml.