1// RUN: %clang_cc1 -fsyntax-only -verify %s
2// expected-no-diagnostics
3// rdar://9740328
4
5@protocol P1;
6
7@interface NSObject
8@end
9
10@interface A : NSObject
11@property (assign) NSObject<P1> *prop;
12@end
13
14@protocol P2 <P1>
15@end
16
17@interface B : A
18@property (assign) NSObject<P2> *prop;
19@end
20
21@interface C<T> : NSObject
22@end
23
24@interface D
25@property (nonatomic,readonly,nonnull) C<D *> *property;
26@end
27
28@interface D ()
29@property (nonatomic, setter=_setProperty:) C *property; // okay
30@end
31