2015-06-20 02:27:45 +08:00
|
|
|
int *ptr; // expected-warning {{missing a nullability type specifier}}
|
2016-12-20 04:58:20 +08:00
|
|
|
// expected-note@-1{{insert '_Nullable' if the pointer may be null}}
|
|
|
|
// expected-note@-2{{insert '_Nonnull' if the pointer should never be null}}
|
2015-06-20 02:27:45 +08:00
|
|
|
#pragma clang assume_nonnull begin
|
|
|
|
|
|
|
|
extern void **blah; // expected-warning 2{{missing a nullability type specifier}}
|
2016-12-20 04:58:20 +08:00
|
|
|
// expected-note@-1 2 {{insert '_Nullable' if the pointer may be null}}
|
|
|
|
// expected-note@-2 2 {{insert '_Nonnull' if the pointer should never be null}}
|
2015-06-20 02:27:45 +08:00
|
|
|
|
2015-10-10 04:36:17 +08:00
|
|
|
__attribute__((objc_root_class))
|
|
|
|
@interface ClassWithWeakProperties
|
|
|
|
@property (readonly, weak) ClassWithWeakProperties *prop1;
|
|
|
|
@property (readonly, weak, null_unspecified) ClassWithWeakProperties *prop2;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface ClassWithWeakProperties ()
|
|
|
|
@property (readonly, weak) ClassWithWeakProperties *prop3;
|
|
|
|
@end
|
|
|
|
|
2015-06-20 02:27:45 +08:00
|
|
|
#pragma clang assume_nonnull end
|
|
|
|
|