두 개의 Swift 열거 형 값의 동등성을 테스트하고 싶습니다. 예를 들면 다음과 같습니다.
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
그러나 컴파일러는 등식을 컴파일하지 않습니다.
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
동등 연산자의 자체 과부하를 정의해야합니까? Swift 컴파일러가 Scala 및 Ocaml처럼 자동으로 처리하기를 바랐습니다.