[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