| import java.util.List; |
| |
| class Foo<T extends V,V> { |
| Foo(List<? extends T> l) { |
| } |
| } |
| class Bar { |
| void foo(Foo<String,String> foo) {} |
| |
| void bar(List<String> l) { |
| foo<error descr="'foo(Foo<java.lang.String,java.lang.String>)' in 'Bar' cannot be applied to '(Foo<java.lang.String,java.lang.Object>)'">(new Foo<>(l))</error>; |
| foo<error descr="'foo(Foo<java.lang.String,java.lang.String>)' in 'Bar' cannot be applied to '(Foo<java.lang.String,java.lang.Object>)'">(f(l))</error>; |
| } |
| |
| <T1 extends V1, V1> Foo<T1, V1> f(List<? extends T1> l) {return null;} |
| } |