> On Aug 16, 2017, at 6:35 PM, Rudolf Adamkovič via swift-evolution 
> <[email protected]> wrote:
> 
> This is fantastic news! Any chance of this landing in Swift 4.x instead of 5?

It it likely to be available in 4.1, but not 4.0.

John.

> 
> R+
> 
>> On 17 Aug 2017, at 00:29, Chris Lattner via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> Proposal Link: 
>> https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md
>> 
>> The review of SE-0185 “Synthesizing Equatable and Hashable conformance” ran 
>> from August 9…15, 2017. Feedback for the feature was glowingly positive, and 
>> the proposal is accepted.  The core team discussed the concerns raised in 
>> the feedback thread for the proposal.  Here are some rough notes (not 
>> intended to be exhaustive), but it is important to recognize that the 
>> proposal follows the design of the auto-synthesized Codable proposal, and 
>> that many of these same points were discussed when it came up:
>> 
>> - The core team feels that adding compiler magic for this case is reasonable 
>> because it solves an important user need, and doesn’t preclude the 
>> introduction of a more general feature (e.g. like a macro system, or Rust's 
>> ‘deriving’ feature) in the future.  When/if that feature is designed and 
>> built, the compiler magic can be replaced with standard library magic.
>> 
>> - The hash value of a type is not intended to be stable across rebuilds or 
>> other changes to the code.  It is ok to change if fields are reordered, the 
>> standard library changes the hash function, etc.  Tony pointed this out 
>> on-thread, saying:  The stdlib documentation for hashValue states "Hash 
>> values are not guaranteed to be equal across different executions of your 
>> program. Do not save hash values to use during a future execution.”
>> 
>> - The code synthesized is meant to feel like a default implementation that 
>> you’re getting for free from a (constrained) extension on the protocol.  
>> This is why conformance to the protocol itself is all that is required, not 
>> something like “AutoEquatable”.  
>> 
>> Many thanks to Tony Allevato for driving forward this proposal.  The patch 
>> just needs final code review now - I think we’re all looking forward to this 
>> landing, congrats!
>> 
>> Chris Lattner 
>> Review Manager
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to