<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 10, 2016, at 9:58 PM, Thorsten Seitz via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="Apple-interchange-newline">Am 09.03.2016 um 22:34 schrieb Austin Zheng via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt;:<br class=""><br class=""></div><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">I think we might (at least partially) be in violent agreement :). Most (if not everyone) on this thread has agreed that painless opt-in auto-conformance is a good thing ("struct Foo : Regular { .. }"), albeit with differing definitions of 'painless'. But I maintain that having a "func ==(lhs: Any, rhs: Any) -&gt; Bool" stdlib fallback implementation of == is a lot of potential pain for very little benefit.</div></div></div></div></blockquote><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I agree completely. Not having everything comparable with everything is a good thing IMO!</span><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div></div></blockquote><br class=""></div><div>I can’t tell if I misunderstood Joe's original proposal, but I don’t think the suggestion was to have everything comparable to everything, but to have any type comparable with itself by default. &nbsp;I’m against everything being comparable with everything else, but for having a default equality for every type with itself.</div><div><br class=""></div><div>To re-state:</div><div><br class=""></div><div>-1 to:&nbsp;<span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(4, 51, 255);" class="">func</span><span style="font-family: 'Fira Code'; font-size: 11px;" class=""> ==(lhs: </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">Any</span><span style="font-family: 'Fira Code'; font-size: 11px;" class="">, rhs: </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">Any</span><span style="font-family: 'Fira Code'; font-size: 11px;" class="">) -&gt; </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">Bool</span></div><div>+1 to:&nbsp;<span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(4, 51, 255);" class="">func</span><span style="font-family: 'Fira Code'; font-size: 11px;" class=""> ==&lt;T&gt; (lhs: </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">T</span><span style="font-family: 'Fira Code'; font-size: 11px;" class="">, rhs: </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">T</span><span style="font-family: 'Fira Code'; font-size: 11px;" class="">)</span><span style="font-family: 'Fira Code'; font-size: 11px;" class="">&nbsp;-&gt;&nbsp;</span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">Bool</span></div><div><br class=""></div><div>- Will</div><br class=""></body></html>