Not sure if this is the same as #1246, but:
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@NullMarked
class Foo {
static interface Base<T extends @Nullable Object> {}
static interface Sub<T> extends Base<@Nullable T> {}
static void foo(Base<@Nullable Object> arg) {}
static void bar(Sub<Object> arg) {
foo(arg);
}
}
Foo.java:11: warning: [NullAway] Cannot pass parameter of type Sub<Object>, as formal parameter has type Base<@Nullable Object>, which has mismatched type parameter nullability
foo(arg);
^
Not sure if this is the same as #1246, but: