[Review] SE-0185 - Synthesizing Equatable and Hashable conformance

I forgot to mention that the implementation of this feature is available here:

-Chris

···

On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org> wrote:

Hello Swift community,

The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md

Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
https://lists.swift.org/mailman/listinfo/swift-evolution

or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

  • What is your evaluation of the proposal?
  • Is the problem being addressed significant enough to warrant a change to Swift?
  • Does this proposal fit well with the feel and direction of Swift?
  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

More information about the Swift evolution process is available at:
https://github.com/apple/swift-evolution/blob/master/process.md

Thank you,

Chris Lattner
Review Manager

And of course, the correct proposal link is:

···

On Aug 9, 2017, at 4:10 PM, Chris Lattner <clattner@nondot.org> wrote:

I forgot to mention that the implementation of this feature is available here:
Synthesize Equatable/Hashable for complex enums, structs by allevato · Pull Request #9619 · apple/swift · GitHub

-Chris

On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org> wrote:

Hello Swift community,

The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md

Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
https://lists.swift.org/mailman/listinfo/swift-evolution

or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

  • What is your evaluation of the proposal?
  • Is the problem being addressed significant enough to warrant a change to Swift?
  • Does this proposal fit well with the feel and direction of Swift?
  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

More information about the Swift evolution process is available at:
https://github.com/apple/swift-evolution/blob/master/process.md

Thank you,

Chris Lattner
Review Manager

_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce

• What is your evaluation of the proposal?

+∞ - 1 (for no extension synthesis)

• Is the problem being addressed significant enough to warrant a change to Swift?

Most certainly. This is a major pain point, especially for structs with many members.

• Does this proposal fit well with the feel and direction of Swift?

Yes, though I don’t particularly care about compiler magic like some, especially in such a useful case.

• If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

I believe Scala with synthesize the equivalent of Equatable conformance for class cases, and I’ve used Mantle in Objective-C, which did the same dynamically for types which inherited from the right types.

• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Studied it when originally proposed, glanced for a rearview.

Jon Shier

Hi there, I don’t mean to be rude or something, nor do I want to hold the review process up from succeeding, but where is the branch with the implementation?

Quote:

The proposal phase for Swift 4 is now officially over
I hope that the core team does not pick proposals they like, for instance their own ones, and just skip the restriction of an implementation. I just want to make sure that everyone plays with the same rules, so that it will be fair for everyone.

To strengthen up my criticism, here is a PR of a different proposal which didn’t made it into Swift 4 but which was asked for an implementation yesterday:

Have a nice review ;)

And of course, the correct proposal link is:

···

Am 10. August 2017 um 01:15:00, Chris Lattner via swift-evolution (swift-evolution@swift.org) schrieb:

On Aug 9, 2017, at 4:10 PM, Chris Lattner <clattner@nondot.org> wrote:

I forgot to mention that the implementation of this feature is available here:
https://github.com/apple/swift/pull/9619

-Chris

On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org> wrote:

Hello Swift community,

The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md

Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
https://lists.swift.org/mailman/listinfo/swift-evolution

or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:

What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

• What is your evaluation of the proposal?
• Is the problem being addressed significant enough to warrant a change to Swift?
• Does this proposal fit well with the feel and direction of Swift?
• If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

More information about the Swift evolution process is available at:
https://github.com/apple/swift-evolution/blob/master/process.md

Thank you,

Chris Lattner
Review Manager

_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Hi there, I don’t mean to be rude or something, nor do I want to hold the review process up from succeeding, but where is the branch with the implementation?

Quote:

The proposal phase for Swift 4 is now officially over
I hope that the core team does not pick proposals they like, for instance their own ones, and just skip the restriction of an implementation. I just want to make sure that everyone plays with the same rules, so that it will be fair for everyone

I don’t know what gave you the impression the Core Team would bend the rules or play favorites. It’s not authored from an Apple engineer and, if you have a look at the PR for the proposal, there is a link to the implementation: https://github.com/apple/swift/pull/9619To strengthen up my criticism, here is a PR of a different proposal which didn’t made it into Swift 4 but which was asked for an implementation yesterday:

···

On 10 Aug 2017, at 07:20, Adrian Zubarev via swift-evolution <swift-evolution@swift.org> wrote:

https://github.com/apple/swift-evolution/pull/707
Have a nice review ;)

Am 10. August 2017 um 01:15:00, Chris Lattner via swift-evolution (swift-evolution@swift.org <mailto:swift-evolution@swift.org>) schrieb:

And of course, the correct proposal link is:
https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md

> On Aug 9, 2017, at 4:10 PM, Chris Lattner <clattner@nondot.org <mailto:clattner@nondot.org>> wrote:
>
> I forgot to mention that the implementation of this feature is available here:
> https://github.com/apple/swift/pull/9619
>
> -Chris
>
>> On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org <mailto:clattner@nondot.org>> wrote:
>>
>> Hello Swift community,
>>
>> The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
>> https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md
>>
>> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>> or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:
>>
>> What goes into a review?
>>
>> The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
>>
>> • What is your evaluation of the proposal?
>> • Is the problem being addressed significant enough to warrant a change to Swift?
>> • Does this proposal fit well with the feel and direction of Swift?
>> • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
>> • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
>>
>> More information about the Swift evolution process is available at:
>> https://github.com/apple/swift-evolution/blob/master/process.md
>>
>>
>> Thank you,
>>
>> Chris Lattner
>> Review Manager
>>
>>
>
> _______________________________________________
> swift-evolution-announce mailing list
> swift-evolution-announce@swift.org <mailto:swift-evolution-announce@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution-announce

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org <mailto:swift-evolution@swift.org>
https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org <mailto:swift-evolution@swift.org>
https://lists.swift.org/mailman/listinfo/swift-evolution

Well, if there is one, then I apologize for bothering anyone. I just assumed it would be included in the proposal itself, and I couldn't find it myself. ;)

Thank you David.

···

--
Adrian Zubarev
Sent with Airmail

Am 10. August 2017 um 07:30:16, David Hart (david@hartbit.com(mailto:david@hartbit.com)) schrieb:

> On 10 Aug 2017, at 07:20, Adrian Zubarev via swift-evolution <swift-evolution@swift.org(mailto:swift-evolution@swift.org)> wrote:
>
> Hi there, I don’t mean to be rude or something, nor do I want to hold the review process up from succeeding, but where is the branch with the implementation?
>
>
> Quote:
>
> > The proposal phase for Swift 4 is now officially over
>
>
> I hope that the core team does not pick proposals they like, for instance their own ones, and just skip the restriction of an implementation. I just want to make sure that everyone plays with the same rules, so that it will be fair for everyone
>
>
>

I don’t know what gave you the impression the Core Team would bend the rules or play favorites. It’s not authored from an Apple engineer and, if you have a look at the PR for the proposal, there is a link to the implementation: Synthesize Equatable/Hashable for complex enums, structs by allevato · Pull Request #9619 · apple/swift · GitHub
>
> To strengthen up my criticism, here is a PR of a different proposal which didn’t made it into Swift 4 but which was asked for an implementation yesterday:
>
>
> Add draft proposal for ownership keyword removal in protocols. by gspiers · Pull Request #707 · apple/swift-evolution · GitHub
>
>
> Have a nice review ;)
>
>
>
>
>
>
> Am 10. August 2017 um 01:15:00, Chris Lattner via swift-evolution (swift-evolution@swift.org(mailto:swift-evolution@swift.org)) schrieb:
>
> >
> > And of course, the correct proposal link is:
> > https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md
> >
> >
> > > On Aug 9, 2017, at 4:10 PM, Chris Lattner <clattner@nondot.org(mailto:clattner@nondot.org)> wrote:
> > >
> > > I forgot to mention that the implementation of this feature is available here:
> > > Synthesize Equatable/Hashable for complex enums, structs by allevato · Pull Request #9619 · apple/swift · GitHub
> > >
> > > -Chris
> > >
> > >> On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org(mailto:clattner@nondot.org)> wrote:
> > >>
> > >> Hello Swift community,
> > >>
> > >> The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
> > >> https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md
> > >>
> > >> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
> > >> https://lists.swift.org/mailman/listinfo/swift-evolution
> > >>
> > >> or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:
> > >>
> > >> What goes into a review?
> > >>
> > >> The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
> > >>
> > >> • What is your evaluation of the proposal?
> > >> • Is the problem being addressed significant enough to warrant a change to Swift?
> > >> • Does this proposal fit well with the feel and direction of Swift?
> > >> • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
> > >> • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
> > >>
> > >> More information about the Swift evolution process is available at:
> > >> https://github.com/apple/swift-evolution/blob/master/process.md
> > >>
> > >>
> > >> Thank you,
> > >>
> > >> Chris Lattner
> > >> Review Manager
> > >>
> > >>
> > >
> > > _______________________________________________
> > > swift-evolution-announce mailing list
> > > swift-evolution-announce@swift.org(mailto:swift-evolution-announce@swift.org)
> > > https://lists.swift.org/mailman/listinfo/swift-evolution-announce
> >
> > _______________________________________________
> > swift-evolution mailing list
> > swift-evolution@swift.org(mailto:swift-evolution@swift.org)
> > https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org(mailto:swift-evolution@swift.org)
> https://lists.swift.org/mailman/listinfo/swift-evolution

Well, if there is one, then I apologize for bothering anyone. I just assumed it would be included in the proposal itself, and I couldn't find it myself. ;)

This is a good point. We'll update the proposal template with a link to the implementation.

  - Doug

···

Sent from my iPhone

On Aug 9, 2017, at 10:37 PM, Adrian Zubarev via swift-evolution <swift-evolution@swift.org> wrote:

Thank you David.

--
Adrian Zubarev
Sent with Airmail
Am 10. August 2017 um 07:30:16, David Hart (david@hartbit.com) schrieb:

On 10 Aug 2017, at 07:20, Adrian Zubarev via swift-evolution <swift-evolution@swift.org> wrote:

Hi there, I don’t mean to be rude or something, nor do I want to hold the review process up from succeeding, but where is the branch with the implementation?

Quote:

The proposal phase for Swift 4 is now officially over
I hope that the core team does not pick proposals they like, for instance their own ones, and just skip the restriction of an implementation. I just want to make sure that everyone plays with the same rules, so that it will be fair for everyone

I don’t know what gave you the impression the Core Team would bend the rules or play favorites. It’s not authored from an Apple engineer and, if you have a look at the PR for the proposal, there is a link to the implementation: Synthesize Equatable/Hashable for complex enums, structs by allevato · Pull Request #9619 · apple/swift · GitHub

To strengthen up my criticism, here is a PR of a different proposal which didn’t made it into Swift 4 but which was asked for an implementation yesterday:

Add draft proposal for ownership keyword removal in protocols. by gspiers · Pull Request #707 · apple/swift-evolution · GitHub

Have a nice review ;)

Am 10. August 2017 um 01:15:00, Chris Lattner via swift-evolution (swift-evolution@swift.org) schrieb:

And of course, the correct proposal link is:
https://github.com/apple/swift-evolution/blob/master/proposals/0185-synthesize-equatable-hashable.md

> On Aug 9, 2017, at 4:10 PM, Chris Lattner <clattner@nondot.org> wrote:
>
> I forgot to mention that the implementation of this feature is available here:
> Synthesize Equatable/Hashable for complex enums, structs by allevato · Pull Request #9619 · apple/swift · GitHub
>
> -Chris
>
>> On Aug 9, 2017, at 4:08 PM, Chris Lattner <clattner@nondot.org> wrote:
>>
>> Hello Swift community,
>>
>> The review of SE-0185 - "Synthesizing Equatable and Hashable conformance" begins now and runs through August 15, 2017. The proposal is available here:
>> https://github.com/apple/swift-evolution/blob/master/proposals/0182-newline-escape-in-strings.md
>>
>> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>> or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:
>>
>> What goes into a review?
>>
>> The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
>>
>> • What is your evaluation of the proposal?
>> • Is the problem being addressed significant enough to warrant a change to Swift?
>> • Does this proposal fit well with the feel and direction of Swift?
>> • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
>> • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
>>
>> More information about the Swift evolution process is available at:
>> https://github.com/apple/swift-evolution/blob/master/process.md
>>
>>
>> Thank you,
>>
>> Chris Lattner
>> Review Manager
>>
>>
>
> _______________________________________________
> swift-evolution-announce mailing list
> swift-evolution-announce@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution-announce

_______________________________________________
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

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution