mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This "fixes" two issues: - The name of a non-public typealias would leak into the public interface if the extension had any public members. - A common pattern of defining a platform-specific typealias for an imported class and then extending that type would lead to circularity when trying to deserialize the typealias. We /shouldn't/ be loading the extension at that point, but fixing that would be much harder. The "right" answer is to (a) check that the typealias is public if the extension has any public members, and (b) somehow ensure there is no circularity issue (either by not importing the extension as a result of importing the typealias, or by the extension being able to set its sugared base type later). rdar://problem/29694978
14 lines
195 B
Objective-C
14 lines
195 B
Objective-C
@import Foundation;
|
|
|
|
@protocol BaseProto
|
|
@end
|
|
|
|
@protocol SubProto <BaseProto>
|
|
@end
|
|
|
|
@interface NonGenericType: NSObject <SubProto>
|
|
@end
|
|
|
|
@interface GenericType<Element>: NSObject <SubProto>
|
|
@end
|