diff options
Diffstat (limited to 'test/SemaObjC/parameterized_classes_subst.m')
-rw-r--r-- | test/SemaObjC/parameterized_classes_subst.m | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/SemaObjC/parameterized_classes_subst.m b/test/SemaObjC/parameterized_classes_subst.m index da2d56f11b..d14a6e9deb 100644 --- a/test/SemaObjC/parameterized_classes_subst.m +++ b/test/SemaObjC/parameterized_classes_subst.m @@ -104,6 +104,12 @@ __attribute__((objc_root_class)) @property (nonatomic,retain) ViewType view; @end +@interface TypedefTypeParam<T> : NSObject +typedef T AliasT; +- (void)test:(AliasT)object; +// expected-note@-1 {{parameter 'object' here}} +@end + // -------------------------------------------------------------------------- // Nullability // -------------------------------------------------------------------------- @@ -190,6 +196,7 @@ void test_message_send_param( MutableSetOfArrays<NSString *> *mutStringArraySet, NSMutableSet *mutSet, MutableSetOfArrays *mutArraySet, + TypedefTypeParam<NSString *> *typedefTypeParam, void (^block)(void)) { Window *window; @@ -199,6 +206,7 @@ void test_message_send_param( [mutStringArraySet addObject: window]; // expected-warning{{parameter of type 'NSArray<NSString *> *'}} [mutSet addObject: window]; // expected-warning{{parameter of incompatible type 'id<NSCopying>'}} [mutArraySet addObject: window]; // expected-warning{{parameter of incompatible type 'id<NSCopying>'}} + [typedefTypeParam test: window]; // expected-warning{{parameter of type 'NSString *'}} [block addObject: window]; // expected-warning{{parameter of incompatible type 'id<NSCopying>'}} } |