blob: ea3e242fa54c2d2dae141994b70f244f7f631e8d [file] [log] [blame]
abstract class C{
abstract <T extends Cloneable> void foo(T x);
abstract <T extends Object & Cloneable> void foo(T x);
void bar(Cloneable x){
foo<error descr="Ambiguous method call: both 'C.foo(Cloneable)' and 'C.foo(Cloneable)' match">(x)</error>;
}
}
abstract class D {
abstract <T extends Iterable<? extends Exception>> void foo(T x);
abstract <T extends Object & Iterable<? super Exception>> void foo(T x);
void bar(Iterable<Exception> x){
foo<error descr="Ambiguous method call: both 'D.foo(Iterable<Exception>)' and 'D.foo(Iterable<Exception>)' match">(x)</error>;
}
}