Is that a particularly common case?  I haven’t written code that needs access 
patterns like this and it strikes me as strange that anything you’re willing to 
expose to extensions scattered throughout your codebase you’d also prefer not 
to export throughout a module that you have complete control over.  Sure, it 
might be “cleaner” to scope your variables to the implementation, but past a 
certain point it just seems to encourage extreme decomposition and scattering 
of a single class or structure when you should be separating your 
implementation into multiple classes and structures.

> On Nov 29, 2016, at 11:07 AM, Gonçalo Alvarez Peixoto 
> <[email protected]> wrote:
> 
> Robert,
> 
> Thanks for your feedback.
> 
> However, I tend to disagree with you. 
> 
> "The proposal, as it stands, does nothing to indicate how this is much 
> different from internal - all examples given would trivially be solved by 
> internal members."
> This proposal aims at covering all of the cases in which you do not want to 
> expose your properties internally. For instance, you might want to access a 
> member of a view controller from an extension of this view controller on 
> another file, but not make it accessible from other members in the module 
> (which is what internal does).
> 
> Best,
> Gonçalo
> 
> 2016-11-29 15:53 GMT+00:00 Robert Widmann <[email protected] 
> <mailto:[email protected]>>:
> The proposal, as it stands, does nothing to indicate how this is much 
> different from internal - all examples given would trivially be solved by 
> internal members.  I don’t think we need finer-grained access control to 
> address this, I think we need extensions, at least in the same file as their 
> parent declarations, to be able to define variables.
> 
>> On Nov 29, 2016, at 10:24 AM, Gonçalo Alvarez Peixoto via swift-evolution 
>> <[email protected] <mailto:[email protected]>> 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
>>  
>> <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
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to