আমি দুটি সুইফট এনাম মানের সমতা পরীক্ষা করতে চাই। উদাহরণ স্বরূপ:
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)
^~~~~~~~~~~~~~~~~~~
আমি কি সমতা অপারেটরের নিজের ওভারলোডটি সংজ্ঞায়িত করেছি? আমি আশা করছিলাম সুইফট সংকলকটি স্বয়ংক্রিয়ভাবে এটি পরিচালনা করবে, অনেকটা স্কালা এবং ওক্যামেলের মতো।
Equatableএবং Hashableসম্পর্কিত মানগুলির সাথে এনামগুলির জন্যও সমর্থন করে ।