[swift-evolution] [swift-evolution-announce] [Review] SE-0176: Remove ownership keyword support in protocols

Ray Fix rayfix at gmail.com
Thu Sep 28 00:07:45 CDT 2017


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

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170927/5dfab128/attachment.html>


More information about the swift-evolution mailing list