<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 <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> 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 <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>>:<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) -> 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. 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: <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="">) -> </span><span style="font-family: 'Fira Code'; font-size: 11px; color: rgb(52, 149, 175);" class="">Bool</span></div><div>+1 to: <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=""> ==<T> (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=""> -> </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>