| import org.checkerframework.checker.nullness.qual.*; |
| |
| public class Issue459 { |
| public class Generic<K, V> {} |
| |
| interface Iface<K, V> { |
| public <K1 extends K, V1 extends V> Generic<K, V> foo(Generic<? super K1, ? super V1> arg); |
| |
| public <K2 extends K, V2 extends V> Generic<K, V> foo2( |
| Generic<? super K2, ? super V2> arg, K2 strArg); |
| } |
| |
| void f(Iface<Object, Object> arg, @NonNull String nnString) { |
| final Generic<String, Integer> obj = new Generic<>(); |
| arg.foo(obj); |
| |
| final Generic<@Nullable String, Integer> obj2 = new Generic<>(); |
| arg.foo2(obj2, nnString); |
| } |
| } |