[swift-users] can we express "does not conform to a particular protocol"?

David Baraff davidbaraff at gmail.com
Mon Jul 3 19:00:14 CDT 2017


I’m searching for the simplest way to write a function
	func maybeEqual<T>(_ lhs:T, _rhs:T) -> Bool

where it returns lhs == rhs if T is equatable, and false, otherwise.
I tried

func maybeEqual<T>(_ lhs:T, _rhs:T) -> Bool {
    return false
}

func maybeEqual<T:Equatable>(_ lhs:T, _ rhs:T) -> Bool {
    return lhs == rhs
}

but that doesn’t work.  Is there a way to express a type not matching something?
Alternately, how can I write this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170703/d8417b87/attachment.html>


More information about the swift-users mailing list