[swift-evolution] Ownership on protocol property requirements

Greg Spiers gspiers at gmail.com
Mon May 8 03:33:07 CDT 2017


On Mon, May 8, 2017 at 8:52 AM, Goffredo Marocchi via swift-evolution
<swift-evolution at swift.org> wrote:
>
>
>
> Sent from my iPhone
>
> On 8 May 2017, at 08:44, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
>
> On Mon, May 8, 2017 at 2:40 AM, Goffredo Marocchi via swift-evolution <swift-evolution at swift.org> wrote:
>>
>> I can understand that, I am just wary of "let's do a partially detrimental change
>
>
> The key here is that there is no detriment to this change. There's no functionality that's being removed, only misleading syntax.
>
>
> Why is it misleading? Because it is not enforced, but protocol extension default methods being shadowable but not overridable and presenting no warning is a very similar issue... if the answer is the same there (at least for classes), I am more than happy to get both changes ;).

When I found the problem I thought specifying weak on a property in a
protocol should have meaning. But I do agree that I think it needs
much more discussion around what those details mean. As you said, it
could be argued that ownership is just an implementation detail and
shouldn't be specified as part of the contract of a protocol.

There's also questions around how the conforming class satisfies the
protocol. What if I use a computed property, does it make sense to
specify ownership weak/unowned for a computed property if it was
specified as weak/unowned in the protocol?

>
>
>>
>> no... we will... we will make it proper someday" kind of changes as they seldom work out. Argument labels for stored closures and callbacks are still lost for example :/...
>
>
> That's a totally different issue. Someone needs to write the proposal and implementation for that.
>
>
> Would you and some other be willing to help me (Erica?)? A lot to ask, but it would be important although a bit beyond the scope for "dweller's first proposal" especially the implementation and grammar side. I do not think it has a iota of chance for it to get integrate in time though :/.

I know I'm new to the list but I'm happy to help if I can.

I think the proposal to remove the keywords makes sense in the short
term as currently I agree it's misleading to users. The proposal
should be short, I'll finish it up and post it here to continue the
discussion. Thanks again for the feedback everyone.


More information about the swift-evolution mailing list