xref: /aosp_15_r20/external/clang/test/SemaObjCXX/Inputs/nullability-pragmas-generics-1.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li #pragma clang assume_nonnull begin
2*67e74705SXin Li 
3*67e74705SXin Li __attribute__((objc_root_class))
4*67e74705SXin Li @interface B
5*67e74705SXin Li @end
6*67e74705SXin Li 
7*67e74705SXin Li @interface C : B
8*67e74705SXin Li @end
9*67e74705SXin Li 
10*67e74705SXin Li __attribute__((objc_root_class))
11*67e74705SXin Li @interface NSGeneric<T : B *> // expected-note{{type parameter 'T' declared here}}
12*67e74705SXin Li - (T)tee;
13*67e74705SXin Li - (nullable T)maybeTee;
14*67e74705SXin Li @end
15*67e74705SXin Li 
16*67e74705SXin Li typedef NSGeneric<C *> *Generic_with_C;
17*67e74705SXin Li 
18*67e74705SXin Li #pragma clang assume_nonnull end
19*67e74705SXin Li 
20*67e74705SXin Li @interface NSGeneric<T : C *>(Blah) // expected-error{{type bound 'C *' for type parameter 'T' conflicts with previous bound 'B *'}}
21*67e74705SXin Li @end
22