Is anyone starting to think the current access control model will become more 
burdensome over time?

People will want to add and subtract to it for years to come...which tells me 
it's not very flexible. I'm beginning to feel like it is an old style model 
trying to fit into a modern language. 

For example, fileprivate and private encourage stuffing a lot of code into one 
file just to use that access control level. If you want to break this into more 
manageable chunks you have to make it internal or move it into a new module 
which is very complicated to do in Xcode (I.e requiring a new target like a 
framework). 

This keeps leading me back to having submodules or creating modules on demand. 
I think that would open up this system to great complexity.

Want to keep something private to a specific class but private to anything 
outside of it? Make it internal to the same "submodule". 

I think we could keep tacking on things to access control, but I don't think it 
is really solving everyone's needs. I think a more flexible system would allow 
people to adapt it to their needs instead of structuring everything around a 
rigid system that forces you to do it swift's way. 

> On Nov 29, 2016, at 10:24 AM, Gonçalo Alvarez Peixoto via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Hello, everyone!
> 
> I would like to introduce a new proposal to swift evolution, but first I 
> would love to run it by all of you so I get everyone's feedback and enrich it.
> 
> This proposal consists of introducing a new typeprivate access control level 
> which allows for members to be accessed in all extensions of a given type, 
> whether lying within or in another file.
> 
> You'll find the proposal draft in:
> https://github.com/goncaloalvarez/swift-evolution/blob/master/proposals/NNNN-introduce-typeprivate-access-control-level.md
> 
> Thanks in advance for taking the time to evaluate the proposal.
> 
> Best regards,
> Gonçalo
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to