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