Looks good to me, though I have some clarifying questions. For a type which
conforms to both Equatable and Hashable:

1. To automatically derive both Equatable and Hashable, will it be
sufficient to declare “struct Foo: Hashable” (since Hashable refines
Equatable) or must “Equatable” also be listed?

2. Will it be possible to automatically derive “==” while manually
implementing “hashValue”?
2a. If so, will “Equatable” and “Hashable” both need to appear in the
declaration, or will “Hashable” alone suffice?

3. Will it be possible to automatically derive “hashValue” while manually
implementing “==”?
3a. If so, will “Equatable” and “Hashable” both need to appear in the
declaration, or will “Hashable” alone suffice?

Thanks,

Nevin


On Wed, Aug 9, 2017 at 11:36 AM, Tony Allevato via swift-evolution <
swift-evolution@swift.org> wrote:

> Now that Swift 5 is taking proposals, I'm dusting off my proposal to
> synthesize Equatable/Hashable conformance for enums and structs. I had
> implemented this a few months ago hoping to squeeze it in by the Swift 4
> deadline, but unfortunately the timeline was too tight.
>
> The pull request for the proposal is here: https://github.com/
> apple/swift-evolution/pull/706. (Direct link to proposal text:
> https://github.com/allevato/swift-evolution/blob/
> b3dcffc2e6f74e17eba05a6eb7eb29ad58bf36a3/proposals/NNNN-
> synthesize-equatable-hashable.md)
>
> The pull request for the implementation (rebased last night) is here:
> https://github.com/apple/swift/pull/9619
>
> Thanks all!
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to