Files

13 lines
512 B
Java

import java.util.Collection;
import java.util.List;
interface A
{
<S extends Collection<?> & List<?>> void foo(S x);
}
<error descr="Class 'B' must either be declared abstract or implement abstract method 'foo(S)' in 'A'">class B implements A</error>
{
<error descr="'foo(Collection<?>)' in 'B' clashes with 'foo(S)' in 'A'; both methods have same erasure, yet neither overrides the other">public void foo(Collection<?> x)</error> { }
public <S extends List<?> & Collection<?>> void foo(S x) { }
}