<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Please be careful when wording this proposal. &nbsp;You want derived conformances, but don't obscure that message with the claim that every type admits a useful Equatable instance. It is most certainly <i>not</i>&nbsp;the case that every value type has a useful (read [mostly]: decidable) equality. &nbsp;A few counterexamples, the type of lazy streams (<a href="https://github.com/typelift/Swiftz/blob/swift-develop/Swiftz/Stream.swift#L24">https://github.com/typelift/Swiftz/blob/swift-develop/Swiftz/Stream.swift#L24</a>) requires infinite space to evaluate a useful answer. &nbsp;The type of functions [without a modulus of continuity] also don't admit a useful, or even canonical, equality (in Swift at least). &nbsp;<br><br>~Robert Widmann</div><div><br>2016/09/10 8:24、Daniel Tartaglia via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; のメッセージ:<br><br></div><blockquote type="cite"><div><span>Now that Swift 3 is out the door, I’m going to float this proposal again…</span><br><span></span><br><span>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/">https://www.andrewcbancroft.com/2015/07/01/every-swift-value-type-should-be-equatable/</a></span><br><span>And that many, if not most, value types consist of properties that are value types.</span><br><span>Then the language should make it easy to conform to the Equatable protocol.</span><br><span></span><br><span>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.)</span><br><span></span><br><span>Implementing == in such cases is tedious boilerplate that the compiler should be able to infer on its own.</span><br><span></span><br><span>Does anybody want to help me write up an official proposal?</span><br><span></span><br><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></body></html>