Commits

Jordan Rose committed 306eddab268
SE-0025: Allow public members inside internal types. (#3404) (and any other member with higher access control than its enclosing type) There's no effect, but it is now considered legal and the compiler will no longer warn about it. This allows an API author to prototype their API with proper access levels and still limit the top-level type. If the new getEffectiveAccess computation turns out to be expensive, we can cache the result. Note that the compiler will still warn when putting a public member inside an extension explicitly marked internal, because the extended type could be public and then including a public member would be valid. It is also still an error to put a public member inside a constrained extension of an internal type, though I think this one is safe to relax later. Progress on SE-0025 ('private' and 'fileprivate')