mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The previous code was too clever in trying to avoid work and missed the fact that ClassDecl::getSuperclass produces an interface type but the types in the inheritance clause are contextual types. This actually successfully built: - in non-WMO builds with a public subclass and an internal base class, because the internal class symbol wouldn't get stripped out. - in WMO builds with an internal subclass and a private base class, because 'private' has no distinction at the linkage level for a WMO build. However, it's highly likely that trying to import a library containing such types would result in instability (read: compiler and debugger crashes), and it's clearly a mistake to allow this. (If you can't show your superclass to a user in a library's generated interface, something's definitely gone wrong.) https://bugs.swift.org/browse/SR-6206
38 KiB
38 KiB