summaryrefslogtreecommitdiffstats
path: root/test/SemaObjC/parameterized_classes_subst.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/parameterized_classes_subst.m')
-rw-r--r--test/SemaObjC/parameterized_classes_subst.m8
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>'}}
}