> On 16 Mar 2016, at 11:04, Ross O'Brien <[email protected]> wrote:
> 
> If this is the case then this would seem clunky:
> @testable(private(scope)) import ModuleName

Does the parameter for @testable need to match exactly? An alternative could be 
to take it as @testable(private: scope), not quite as clunky but keeps the same 
basic structure of all restricted accessibility being “private” followed by a 
type of privacy.

I think that use of a modifier for private(scope) type declarations is the best 
way to go for avoiding introducing new keywords (actually it would free up 
internal). It’s actually a style that I’d like to see more of; there was 
discussion recently about introducing customisable property behaviours, but 
there was difficulty about how to apply them, however a behaviour(lazy) type 
syntax could solve that.

When it comes to parsing though, I think that it as long as let/var is required 
to be the last element before a property name then this eliminates most parsing 
issues regarding name collisions with properties.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to