1// RUN: %clang_cc1 -fobjc-arc -fobjc-runtime-has-weak -Wnullable-to-nonnull-conversion %s -verify 2 3 4// rdar://19985330 5@interface NSObject @end 6 7@class NSFoo; 8void foo (NSFoo * _Nonnull); 9 10@interface NSBar : NSObject 11@property(weak) NSFoo *property1; 12@end 13 14#pragma clang assume_nonnull begin 15@interface NSBar () 16@property(weak) NSFoo *property2; 17@end 18 19#pragma clang assume_nonnull end 20 21@implementation NSBar 22- (void) Meth { 23 foo (self.property1); // no warning because nothing is inferred 24 foo (self.property2); // expected-warning {{implicit conversion from nullable pointer 'NSFoo * _Nullable' to non-nullable pointer type 'NSFoo * _Nonnull'}} 25} 26@end 27