<div dir="ltr">I started on an early-draft proposal for something like this a while back:  <a href="https://gist.github.com/allevato/2fd10290bfa84accfbe977d8ac07daad">https://gist.github.com/allevato/2fd10290bfa84accfbe977d8ac07daad</a><div><br></div><div>Most of the discussion in the e-mail thread (I don&#39;t have time to fetch the link right now, unfortunately) was around how implicit/explicit such behavior should be (i.e., should there be a keyword that you have to use to buy into the automated implementation).</div><div><br></div><div>Given that it&#39;s additive, it&#39;s unlikely that it would be discussed now, but I&#39;d like to revisit it when the time is right.</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 12, 2016 at 8:36 AM Daniel Tartaglia via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Now that Swift 3 is out the door, I’m going to float this proposal again…<br class="gmail_msg">
<br class="gmail_msg">
Given that every value type should be equatable (rational here): <a href="https://www.andrewcbancroft.com/2015/07/01/every-swift-value-type-should-be-equatable/" rel="noreferrer" class="gmail_msg" target="_blank">https://www.andrewcbancroft.com/2015/07/01/every-swift-value-type-should-be-equatable/</a><br class="gmail_msg">
And that many, if not most, value types consist of properties that are value types.<br class="gmail_msg">
Then the language should make it easy to conform to the Equatable protocol.<br class="gmail_msg">
<br class="gmail_msg">
In other words, if I declare my value type as Equatable, and it is exclusively composed of value types that are already equatable, then implementing the actual == function should be optional (or maybe even forbidden.)<br class="gmail_msg">
<br class="gmail_msg">
Implementing == in such cases is tedious boilerplate that the compiler should be able to infer on its own.<br class="gmail_msg">
<br class="gmail_msg">
Does anybody want to help me write up an official proposal?<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>