22 lines
480 B
Objective-C
22 lines
480 B
Objective-C
#pragma clang assume_nonnull begin
|
|
|
|
__attribute__((objc_root_class))
|
|
@interface B
|
|
@end
|
|
|
|
@interface C : B
|
|
@end
|
|
|
|
__attribute__((objc_root_class))
|
|
@interface NSGeneric<T : B *> // expected-note{{type parameter 'T' declared here}}
|
|
- (T)tee;
|
|
- (nullable T)maybeTee;
|
|
@end
|
|
|
|
typedef NSGeneric<C *> *Generic_with_C;
|
|
|
|
#pragma clang assume_nonnull end
|
|
|
|
@interface NSGeneric<T : C *>(Blah) // expected-error{{type bound 'C *' for type parameter 'T' conflicts with previous bound 'B *'}}
|
|
@end
|