[swift-evolution] [Review] SE-0185 - Synthesizing Equatable and Hashable conformance
Martin Waitz
tali at admingilde.org
Thu Aug 10 04:32:54 CDT 2017
Hi Haravikk,
Am 2017-08-10 11:07, schrieb Haravikk via swift-evolution:
> I don't feel that conforming to
> Equatable/Hashable is sufficient as an opt-in. Consider for example
> someone who declares their type as Equatable/Hashable, then sets to
> work on the details of their type, forgetting to implement the actual
> equatable/hashable behaviour they want.
This is no different than a default implementation of the protocol.
In fact, the proposal just adds something like this:
extension Struct<A, B, ...>: Equatable where A: Equatable, B:
Equatable, ... {
static func ==(lhs: Self, rhs: Self) -> Bool { /* insert
implementation here */ }
}
We don't require/support some special keywords for other protocols with
default implementation either,
so I see no reason to add them here.
Your concerns are orthogonal to this proposal and should be discussed
independently.
--
Martin
More information about the swift-evolution
mailing list