1// RUN: %clang_analyze_cc1 -w -analyzer-checker=core,nullability -verify %s
2
3// expected-no-diagnostics
4
5@class C;
6
7#pragma clang assume_nonnull begin
8@interface I
9- foo:(C *)c;
10@end
11#pragma clang assume_nonnull end
12
13@interface J
14@property C *c;
15@end
16
17J *conjure_J();
18
19@implementation I
20- (void)bar {
21  if (self) { // no-crash
22    J *j = conjure_J();
23    if (j.c)
24      [self bar];
25    // FIXME: Should warn.
26    [self foo:j.c]; // no-warning
27  }
28}
29@end
30
31@implementation J
32@end
33