blob: 4eaf810dad4fd01431d9849ae4f0844e09cf9db2 [file] [log] [blame]
class Test<T > {
interface Event{}
interface EventListener<V extends Event> {
void handleEvent(V event);
}
public void addListener(EventListener<? super T> listener) {
EventListener<? extends Event> localListener = listener;
<error descr="Incompatible types. Found: 'Test.EventListener<capture<? super T>>', required: 'Test.EventListener<? super Test.Event>'">EventListener<? super Event> localListener1 = listener;</error>
}
}
class Test1 {
public static class Entity<E extends Entity<E>> {
public final <T, V extends EntityVisitor<? super E, T>> T handle(final V visitor) {
return visitor.handle(this);
}
}
public interface EntityVisitor<E extends Entity<E>, T> {
T handle(Entity<? extends E> e);
}
}