
interface A<T> { }

class B<T> implements A<T> {}

class C {
    void bar(A<A<?>> x){
        B<A<String>> y = <error descr="Inconvertible types; cannot cast 'A<A<?>>' to 'B<A<java.lang.String>>'">(B<A<String>>) x</error>;
    }
}

//-----------------------
interface A2<T> { }

class B2<T> implements A2<T> {}

class C2 {
    void bar(A2<A2> x){
        B2<A2<?>> y = <error descr="Inconvertible types; cannot cast 'A2<A2>' to 'B2<A2<?>>'">(B2<A2<?>>) x</error>;
    }
}

//-----------------------
interface A3<T> { }

class B3<T> implements A3<T> {}

class C3 {
    <T> void bar(A3<A3<T>> x){
        A3<A3<?>> y = <error descr="Inconvertible types; cannot cast 'A3<A3<T>>' to 'A3<A3<?>>'">(A3<A3<?>>) x</error>;

    }
}
