interface A | |
{ | |
abstract <T> void foo(); | |
} | |
interface B | |
{ | |
abstract <T,S> void foo(); | |
} | |
class C<<error descr="'foo()' in 'B' clashes with 'foo()' in 'A'; both methods have same erasure, yet neither overrides the other"></error>T extends A & B> | |
{ | |
void bar(T x) | |
{ | |
x.foo<error descr="Ambiguous method call: both 'A.foo()' and 'B.foo()' match">()</error>; | |
} | |
} |