Commits

Jordan Rose committed 396c9f23b40
[Parse] Stop ignoring private decls for incremental purposes. (#3352) We'd really like to say that private decls can't affect other files, but we don't have enough information at parse-time: - Private members of non-private classes still show up in vtables, which affects subclasses and callers in other files. - Private stored properties of non-private structs change the layout of the struct. - Private types may be used in private stored properties, affecting the layout of the containing struct. - Private decls of /any kind/ can be used as the initial value of a stored property without an explicit type. private class Evil { class func defaultAlignment() -> Alignment { return .evil } } public struct Character { // Inferred type here! private var alignment = Evil.defaultAlignment() } To be safe and correct, go back to only ignoring method bodies. https://bugs.swift.org/browse/SR-1030