| class A1<T> {} | |
| class B1<T extends A1<? super A1<? super T>>>{ | |
| { | |
| T a = null; | |
| <error descr="Incompatible types. Found: 'T', required: 'A1<? super T>'">A1<? super T> b = a;</error> | |
| } | |
| } | |
| class A<T> {} | |
| class B<T extends A<? super A<? super T>>> { | |
| void bar(T x){ | |
| foo(x); | |
| } | |
| void foo(A<? super T> x){} | |
| void foo(Object x){} | |
| } |