Saya ingin menguji kesetaraan dua nilai Swift enum. Sebagai contoh:
enum SimpleToken {
case Name(String)
case Number(Int)
}
let t1 = SimpleToken.Number(123)
let t2 = SimpleToken.Number(123)
XCTAssert(t1 == t2)
Namun, kompiler tidak akan mengkompilasi ekspresi persamaan:
error: could not find an overload for '==' that accepts the supplied arguments
XCTAssert(t1 == t2)
^~~~~~~~~~~~~~~~~~~
Apakah saya harus mendefinisikan sendiri kelebihan operator kesetaraan saya? Saya berharap kompiler Swift akan menanganinya secara otomatis, seperti Scala dan Ocaml.