SE-0186: Remove ownership keyword support in protocols

The review of “SE-0186: Remove ownership keyword support in protocols” begins now and runs through September 27.

The proposal is available here:

   https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md

Reviews are an important part of the Swift evolution process. All review feedback 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:

Proposal link: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
….
Reply text
...
Other replies

## What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift.

When reviewing a proposal, here are some questions to consider:

* 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?

Thanks,
Ted Kremenek
Review Manager

+1

After a quick read, I don’t think this issue needs a review: It is just a compiler bug.

···

On Sep 20, 2017, at 1:11 PM, Ted Kremenek <kremenek@apple.com> wrote:

The review of “SE-0186: Remove ownership keyword support in protocols” begins now and runs through September 27.

The proposal is available here:

   https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md

Reviews are an important part of the Swift evolution process. All review feedback 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:

Proposal link: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
….
Reply text
...
Other replies

## What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift.

When reviewing a proposal, here are some questions to consider:

* 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?

Thanks,
Ted Kremenek
Review Manager
_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce

The review of “SE-0186: Remove ownership keyword support in protocols”
begins now and runs through September 27.

The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md

Reviews are an important part of the Swift evolution process. All review
feedback 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:

Proposal link:
https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
….
Reply text
...
Other replies

*## What goes into a review of a proposal?*

The goal of the review process is to improve the proposal under review
through constructive criticism and, eventually, determine the direction of
Swift.

When reviewing a proposal, here are some questions to consider:

* What is your evaluation of the proposal?

+1. Seems pretty straightforward and non-controversial. If the keywords are
not valid, they shouldn't be allowed.

While it's tempting to ask "could these keywords be given their proper
meaning instead of removing them?" the proposal addresses that by pointing
out that it's a much deeper design decision that would require more debate,
and regardless of the outcome of that, misleading keywords shouldn't be
allowed in the interim. Let's fix the immediate bug now and consider the
rest later.

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

Yes, it prevents people from writing code that doesn't guarantee what they
think it does.

* 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?

Read the proposal just now.

···

On Wed, Sep 20, 2017 at 1:11 PM Ted Kremenek via swift-evolution < swift-evolution@swift.org> wrote:

Thanks,
Ted Kremenek
Review Manager
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

review of “SE-0186: Remove ownership keyword support in protocols”

* What is your evaluation of the proposal?

+1, sensible to remove misleading definitions

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

Yes, could easily lead to bugs.

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

Yes, cleaning up Swift is part of the evolution

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

No

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

Quick read.

-- Howard.

···

On 21 Sep 2017, at 6:11 am, Ted Kremenek <kremenek@apple.com> wrote:

The review of “SE-0186: Remove ownership keyword support in protocols” begins now and runs through September 27.

The proposal is available here:

   https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md

Reviews are an important part of the Swift evolution process. All review feedback 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:

Proposal link: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
….
Reply text
...
Other replies

## What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift.

When reviewing a proposal, here are some questions to consider:

* 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?

Thanks,
Ted Kremenek
Review Manager
_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce

+1

···

On September 20, 2017 at 3:11:58 PM, Ted Kremenek (kremenek@apple.com) wrote:

The review of “SE-0186: Remove ownership keyword support in protocols” begins now and runs through September 27.

The proposal is available here:

swift-evolution/0186-remove-ownership-keyword-support-in-protocols.md at master · apple/swift-evolution · GitHub

Reviews are an important part of the Swift evolution process. All review feedback 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:

Proposal link: swift-evolution/0186-remove-ownership-keyword-support-in-protocols.md at master · apple/swift-evolution · GitHub
….
Reply text
...
Other replies

## What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift.

When reviewing a proposal, here are some questions to consider:

* 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?

Thanks,
Ted Kremenek
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

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

* Does this proposal fit well with the feel and direction of Swift?
Yes, so long as we actually consider whether or not we want to allow these
keywords eventually.

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

* How much effort did you put into your review? A glance, a quick reading,
or an in-depth study?
I read the proposal through and have tracked the discussions

···

On Wed, Sep 20, 2017 at 4:11 PM, Ted Kremenek <kremenek@apple.com> wrote:

The review of “SE-0186: Remove ownership keyword support in protocols”
begins now and runs through September 27.

The proposal is available here:

   GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
proposals/0186-remove-ownership-keyword-support-in-protocols.md

Reviews are an important part of the Swift evolution process. All review
feedback 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:

Proposal link: GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
proposals/0186-remove-ownership-keyword-support-in-protocols.md
….
Reply text
...
Other replies

*## What goes into a review of a proposal?*

The goal of the review process is to improve the proposal under review
through constructive criticism and, eventually, determine the direction of
Swift.

When reviewing a proposal, here are some questions to consider:

* 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?

Thanks,
Ted Kremenek
Review Manager

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

Proposal

* What is your evaluation of the proposal?

A tentative +1

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

BUT…

It does convey some information. Without looking at the definition of A, I know it is a class or a class-bound protocol.

As currently used, the protocol is saying that it is not necessarily required to maintain the lifetime A, but that doesn’t mean that it cannot. I think of this in the same way a protocol declares var x: Int { get } and can satisfy this with let x = 10.

That said I don’t know if this is an important use case. I have never used it.

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

Sticking to the path of least surprise is probably a good idea. Another path would to be to add a bevy of uncheckable annotations such as complexity requirements, etc. That doesn’t seem to be the path we want to go so it fits well with that.

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

No

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

quick reading

I suppose:

After the ABI is stable you, might get some library that just vends this protocol and you don’t have access to the concrete type that implements it. This is its way of saying, "I am not obliged to hold onto this thing, so you better manage its lifetime and not depend on me to.”

Ray

···

On Sep 27, 2017, at 10:07 PM, Ray Fix <rayfix@gmail.com> wrote:

Proposal
https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md

That said I don’t know if this is an important use case. I have never used it.