The scope of the *declaration* is not the issue. The scope of its *members* is.
~Robert Widmann 2016/06/15 11:36、Matthew Johnson <[email protected]> のメッセージ: > The scope for a top-level declaration is the file itself. This means that > top-level declarations with `private` and `fileprivate` should have the same > behavior. They should not be uninstantiable or unusable. > > -Matthew > >> On Jun 15, 2016, at 1:31 PM, Robert Widmann via swift-evolution >> <[email protected]> wrote: >> >> While implementing SE-0025 (fileprivate), I noticed an interesting bug in >> the proposal. Under the implementation outlined there, any top-level >> structure, class, or enum declared private cannot possibly be instantiated >> and so cannot be used in any way. Because of this, private top-level >> declarations are more often than not blown away entirely by the compiler for >> being unused. It seems strange to me to allow a key language feature to act >> solely as a hint to the optimizer to reduce the size of your binary. >> Perhaps the restrictions around private needs to be relaxed or the line >> between fileprivate and private needs to be investigated again by the >> community before inclusion in the language. >> >> Thoughts? >> >> ~Robert Widmann >> _______________________________________________ >> swift-evolution mailing list >> [email protected] >> https://lists.swift.org/mailman/listinfo/swift-evolution > _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
