I like Shawn's proposal:

var foo: Int { private(file) set }

In fact it's probably more sensible than the current private(set) IMO.


While I like private(get: file, set: module) idea, I think it just gets too
inconsistent with private(set: public) and private(set: private) (?!)

On Tue, Mar 15, 2016 at 3:39 PM, Jonathan Hull via swift-evolution <
swift-evolution@swift.org> wrote:

> *On Mar 14, 2016, at 8:36 PM, Patrick Pijnappel via swift-evolution 
> <swift-evolution at swift.org 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>> wrote:*
>
> The only question is (as Sean mentioned) how this combines with the syntax
> for setter access level, e.g. the current private(set). Options:
> - Unnamed 2nd argument, giving private(file), private(file, set),
> private(set).
> - Named 2nd argument, giving e.g. private(file), private(file, accessor:
> set), private(accessor: set). Less ambiguity but longer.
> - Not using multiple arguments, but that'd probably break consistency with
> the other unification efforts going on to make everything look like
> function calls.
>
> What about the following 3 forms?
>
> private(file) //both setter and getter have file scope
> private(set: file) //setter has file scope.  Equivalent to current
> “private(set)"
> private(get: module, set: file) //getter has module scope & setter has
> file scope
>
> It is a bit weird, but we should probably also allow “public" in that last
> form: private(get: public, set: module)
>
> Thanks,
> Jon
>
> _______________________________________________
> 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