// RUN: %clang_analyze_cc1 -analyzer-checker=core,apiModeling,nullability.NullableDereferenced -x objective-c %s
/*
  This test is reduced from a static analyzer crash. The bug causing
  the crash is explained in #124477.  It can only be triggered in some
  rare cases so please do not modify this reproducer.
*/

#pragma clang assume_nonnull begin
# 15 "some-sys-header.h" 1 3
@class NSArray, NSObject;

@interface Base
@property (readonly, copy) NSArray *array;
@end

#pragma clang assume_nonnull end
# 8 "this-file.m" 2


@interface Test : Base

@property (readwrite, copy, nullable) NSObject *label;
@property (readwrite, strong, nullable) Test * field;

- (void)f;

@end

@implementation Test
- (void)f
{
  NSObject * X;

  for (NSObject *ele in self.field.array) {}
  self.label = X;  
}
@end


