> On Nov 20, 2017, at 5:39 PM, Kelvin Ma via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> when SE-185 
> <https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md>
>  went through swift evolution, it was agreed that the next logical step 
> <https://www.mail-archive.com/swift-evolution@swift.org/msg26162.html> is 
> synthesizing these conformances for tuple types, though it was left out of 
> the original proposal to avoid mission creep. I think now is the time to 
> start thinking about this. i’m also tacking on Comparable to the other two 
> protocols because there is precedent in the language from SE-15 
> <https://github.com/apple/swift-evolution/blob/master/proposals/0015-tuple-comparison-operators.md>
>  that tuple comparison is something that makes sense to write.
> 
> EHC conformance is even more important for tuples than it is for structs 
> because tuples effectively have no workaround whereas in structs, you could 
> just manually implement the conformance. 

In my opinion, you’re approaching this from the wrong direction.  The 
fundamental problem here is that tuples can’t conform to a protocol.  If they 
could, synthesizing these conformances would be straight-forward.

If you’re interested in pushing this forward, the discussion is “how do 
non-nominal types like tuples and functions conform to protocols”?

-Chris




_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to