blob: 6f0e625e21c258df0b743e263a8062fd09092df7 [file] [log] [blame]
abstract class A<T, S extends T>
{
abstract S bar();
void foo(A<Runnable[], ? extends Cloneable[]> a){
<error descr="Incompatible types. Found: 'java.lang.Cloneable[]', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error>
}
}
abstract class AB<T, S extends T>
{
abstract S bar();
void foo(AB<Runnable, ? extends Cloneable> a){
Runnable x = a.bar();
}
}
abstract class AC<T, S>
{
abstract S bar();
void foo(AC<Runnable[], ? extends Cloneable[]> a){
<error descr="Incompatible types. Found: 'java.lang.Cloneable[]', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error>
}
}