> On Oct 30, 2017, at 5:34 AM, Mike Kluev <mike.kl...@gmail.com> wrote: > > On 30 October 2017 at 07:30, Adam Kemp <adam.k...@apple.com > <mailto:adam.k...@apple.com>> wrote: > > No. There are two reasonable options: > > 1. Make it public. If it’s needed outside the module then this is an accurate > description of its access level. > > 2. Make it internal and accept that any code in the same module can access > it. Again, that is effectively what your proposed scope allows anyway so > internal is an accurate description of its actual access level. Call it what > it is. > > > Adam, i fail to see why you say "No" to "one module per class approach" if > the goal is to make the individual multi-file classes as isolated as possible > (i.e. not see each other "internal" stuff). which (this goal) is considered > the "way to go" approach in other languages and the "default" behaviour.
I didn’t mean “no, you can’t do that”. You can if you want to. What I meant was “no, I’m not suggesting that you should do that”. I don’t think it’s necessary. Which other language has an access level like the one being proposed? > > this: > > SingleFileClass1.swift // with bunch of "privates" inside > > SingleFileClass2.swift // with bunch of "privates" inside > > SingleFileClass3.swift // with bunch of "privates" inside > > is equivalent to this: > > Module solely for Class1 > Class1.swift // with bunch of "internals inside > Class1+Extension.swift // with bunch of "internals" inside > > Module solely for Class2 > Class2.swift // with bunch of "internals" inside > Class2+Extension.swift // with bunch of "internals" inside > > Module solely for Class3 > Class3.swift // with bunch of "internals" inside > Class3+Extension.swift // with bunch of "internals" inside > > > still "no" ? > > i mean, it's fine (although a bit odd) that a mere change from a single-file > to a multi-file class leads to such drastic consequences. different to what i > saw before. but I can adapt of course. > > Either way the answer is basically the same: don’t obfuscate the effective > access level and pretend you’re being strict when you’re really not. It’s > like putting a lock on the door with the key hanging from the doorknob. You > may as well just keep it unlocked. > > > nice analogy :-) > > Mike >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution