mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
...specifically `@objc dynamic`, that is. This is one case where we /know/ that the override does not depend on the base in any way---any attributes have already been propagated down, and there's no vtable entry. This is especially important for properties, which have no recovery if their accessors can't be deserialized. rdar://50827914
19 lines
518 B
Objective-C
19 lines
518 B
Objective-C
@interface Base
|
|
@end
|
|
|
|
@interface Parent : Base
|
|
- (nonnull instancetype)init __attribute__((objc_designated_initializer));
|
|
|
|
// The SECRET is on a non-secret property here because we need to enforce that
|
|
// it's not printed.
|
|
@property (readonly, strong, nullable) Parent *redefinedPropSECRET;
|
|
@end
|
|
|
|
@interface GenericParent<T: Base *> : Base
|
|
- (nonnull instancetype)init __attribute__((objc_designated_initializer));
|
|
@end
|
|
|
|
@interface SubscriptParent : Base
|
|
- (nullable Parent *)objectAtIndexedSubscript:(int)index;
|
|
@end
|