When 2-dimensional array each dimension of which is nullable is wrapped into Objects.requireNonNull, second dimension is also erroneously marked as non-null:
@NullMarked
public class Test {
private char @Nullable [] @Nullable [] foo = null;
void test() {
// BUG: [NullAway] Writing @Nullable expression into array with @NonNull contents.
Objects.requireNonNull(foo)[0] = null;
}
}
When 2-dimensional array each dimension of which is nullable is wrapped into Objects.requireNonNull, second dimension is also erroneously marked as non-null: