| class C<T extends C<? extends C<? extends T>>>{ | |
| void foo(C<?> x){ | |
| <error descr="Inferred type 'capture<? extends C<? extends C<capture<?>>>>' for type parameter 'T' is not within its bound; should extend 'C<capture<? extends C<? extends C<capture<?>>>>>'">bar(x)</error>; | |
| } | |
| <T extends C<? extends T>> void bar(C<T> x){} | |
| } |