[swift-evolution] [Draft] open and public protocols
Matthew Johnson
matthew at anandabits.com
Sun Feb 19 10:35:00 CST 2017
Sent from my iPhone
> On Feb 19, 2017, at 10:28 AM, Adrian Zubarev <adrian.zubarev at devandartist.com> wrote:
>
> I really feel I’m blind, I cannot find it. Is the access modifier of open protocol *members* on open/public classes public by default, or open?
>
> If open, can we downgrade it to public in an open class?
I didn't specifically address members of open classes but did address open classes. This proposal does not have any impact of the visibility of members of open classes that conform to a public (nonopen) protocol, including the default.
>
>
> --
> Adrian Zubarev
> Sent with Airmail
>
> Am 19. Februar 2017 um 17:16:59, Matthew Johnson (matthew at anandabits.com) schrieb:
>
>>
>>
>> Sent from my iPhone
>>
>> On Feb 19, 2017, at 10:11 AM, Adrian Zubarev <adrian.zubarev at devandartist.com> wrote:
>>
>>> @Matthew: Have you considered what happens with the access modifier of an open protocol when an open/public class conforms to it?
>>>
>>
>> Yes I covered this in the detailed design section of the proposal.
>>> // Module A
>>> open protocol A {
>>> func foo()
>>> }
>>>
>>> // Module B
>>> open class B : A {
>>> (open or public) func foo() {}
>>> // If `open`, can we downgrade to `public`?
>>> // The other way around seems straightforward
>>> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170219/8ca44df5/attachment-0001.html>
More information about the swift-evolution
mailing list