class A<T> {
    <S extends A<? extends T>> void foo(){}
    void bar(A<?> a){
        a.<<error descr="Type parameter 'A' is not within its bound; should extend 'A<? extends capture<?>>'">A<?></error>>foo();
    }
}