In my own test, it seams that there is no way to test a type conforms to
Equatable or not.

`Protocol 'Equatable' can only be used as a generic constraint because it
has Self or associated type requirements`

Zhao Xin

On Tue, Jul 4, 2017 at 9:27 AM, David Baraff <davidbar...@gmail.com> wrote:

> No, i want the equality function run if the two types are equatable, and
> false otherwise (even if you might deem them to be the same, e.g. two
> identical sets, because sets do not conform to equatable, or two identical
> classes, becauses classes are not (in general) equatable).
>
> So
>   maybeEqual(3, 3)      // true
>   maybeEqual(3, 4)      // false
>   maybeEqual([1,2,3], [1,2,3])  // false (because arrays are not actual
> equatable)
>
>   let d = [String:Any]()
>   maybeEqual(d, d)      // false because type(d) is not equatable even
> though obviously d is equal to itself
>
>
>
>
>
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to