> On 7 Oct 2016, at 12:11, Jay Abbott <j...@abbott.me.uk> wrote:
> 
> I agree that the keywords could be improved, but private(file) access should 
> not be what 'private' means by itself. If I put just 'private' in front of 
> something I really mean it should be private to this scope, the most private. 
> I also think the more common use-case would be private(scope) over 
> private(file), you might find if you refactor a bit that a lot of your 
> fileprivate can become private or instead - it's possible that fileprivate is 
> encouraging you to put things into one file when they should be in multiple 
> files with a better defined 'internal' API.
> 
> I like the *concept* that 'private' is the most private and then it can be 
> relaxed by modifiers (file) (module) (perhaps-other-stuff), but I'm not 
> convinced that 'private' is really an appropriate word for something that is 
> accessible anywhere within a module. Though I agree that 'internal' doesn't 
> really mean much to someone learning the language, and suffers the exact same 
> problem (internal to what?) whereas private(module) does express that a bit 
> better.

Yeah I'm a bit undecided on that point myself; like I say I'd really prefer 
something like private(type) to be the default for my own use-case, but not 
only do we not have that it probably wouldn't suit everyone anyway, I think 
it's just more that my habit is to implement by extension within the same file. 
With that in mind maybe scope is the better default for it as you say.

I'm not sure what the OP really wanted to raise on the subject, but if there's 
interest for this style of access modifier and it's in-scope for Swift 4 then I 
could do a proposal for it as a specific request.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to