| import java.util.List; |
| |
| abstract class B { |
| abstract <T> T[] foo(List<? super List<T>> x); |
| abstract <T> T foo0(List<? super List<T>> x); |
| abstract <T> T[] foo1(List<? extends List<T>> x); |
| abstract <T> T[] foo2(List<List<? super List<T>>> x); |
| |
| void bar(List<List<?>> x, List<List<List<?>>> y){ |
| foo(x) [0] = ""; |
| foo1<error descr="'foo1(java.util.List<? extends java.util.List<java.lang.Object>>)' in 'B' cannot be applied to '(java.util.List<java.util.List<?>>)'">(x)</error> [0] = ""; |
| foo2<error descr="'foo2(java.util.List<java.util.List<? super java.util.List<java.lang.Object>>>)' in 'B' cannot be applied to '(java.util.List<java.util.List<java.util.List<?>>>)'">(y)</error> [0] = ""; |
| |
| String s = foo0(x); |
| } |
| } |