// Test case for Issue #807:
// https://github.com/typetools/checker-framework/issues/807
// @below-java8-jdk-skip-test
import java.util.function.Consumer;
class Issue807 {
class MyEntry<K, V> {
MyEntry(MyEntry<? extends K, ? extends V> e) {}
}
<K, V> Consumer<MyEntry<K, V>> entryConsumer(Consumer<? super MyEntry<K, V>> action) {
// The "new MyEntry" isn't a subtype of "? super MyEntry" in
// most type systems. Suppress that error, as it's not the
// point of this test.
@SuppressWarnings("")
Consumer<MyEntry<K, V>> res = e -> action.accept(new MyEntry<>(e));
return res;
}
}