[swift-evolution] classprivate protection level?

Xiaodi Wu xiaodi.wu at gmail.com
Mon Oct 30 21:07:32 CDT 2017


This idea has been discussed before and deemed inconsistent with Swift's
design for access levels. Any further access levels are pretty clearly out
of scope for Swift 5. I'll refer you to the list of focus areas here:

https://github.com/apple/swift-evolution


On Mon, Oct 30, 2017 at 20:30 Mike Kluev via swift-evolution <
swift-evolution at swift.org> wrote:

> On 31 October 2017 at 00:36, Noah Desch <deschnl at icloud.com> wrote:
>
>>
>>
>> > On Oct 30, 2017, at 6:38 PM, Adam Kemp via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >
>> >
>> >
>> >> On Oct 30, 2017, at 2:23 PM, Mike Kluev <mike.kluev at gmail.com> wrote:
>> >>
>> >> On 30 October 2017 at 19:49, Adam Kemp <adam_kemp at apple.com> wrote:
>> >>
>> >> How do you know there’s not an extension in this file without looking?
>> If you don’t know then you have to check. That puts it in the same bucket
>> as internal or public. The set of files you have to search through for
>> usages is the same.
>> >>
>> >>
>> >> I'd just search for "extension SomeClass", Xcode search result window
>> will list all files that have it.
>> >> or I will list all the users of "foo" if that's the one I am changing.
>> >
>> > When you do that search, which files do you include in the search?
>> That’s the key.
>>
>>
>> If I’m concerned with how much work I’ll have to do, no that’s not the
>> key. The key is how many files do I have to read myself (only those
>> containing a subclass or extension of my base class). You seem to be
>> conflating a near instantaneous search in an IDE with manually evaluating a
>> change’s impact to other source files in the module. “Classprivate" makes
>> significantly fewer files that I have to manually review compared to
>> “internal”.
>
>
> exactly. significantly fewer files or fragments of files - significantly
> fewer entries in the search results in other words.
>
> when in a pub:
>
> public / internal:
>   - may i have a pint of lager please? - sure, here you are
>
> classprivate / protected:
>   - may i have a pint of ale please?
>       - sure. are you a member of our club? we serve ale to members only
>   - errr. no. can i become a member?
>       - yes, it is free. just take a seat over there and fill this form
> first, once done i will bring you your ale.
>   - errr, thanks. may i have lager instead please?
>
> private:
>   - may i have a pint of potter please?
>       - sure. are you a member of our club?
>   - yes, i just filed the form, here it is.
>        - are you aware that we serve potter only in that "core members
> only" private room?
>   - errr, no, how do i get there?
>       - ah, no sir, it is impossible. you would know if you can go there.
> it is by invitation only system.
>   - damn!! lager!
>
> i am dead sure they will serve much less ale than lager, don't you.
>
> Mike
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171031/9a6c1d41/attachment.html>


More information about the swift-evolution mailing list