blob: 939778d7e9366bb430af3ffb913c47e919627f8e [file] [log] [blame]
import org.checkerframework.framework.testchecker.util.*;
// Test case for Issue 136:
// https://github.com/typetools/checker-framework/issues/136
public class GenericTest6 {
interface Foo<T extends Foo<?>> {}
class Strange implements Foo<Strange> {}
void test(Foo<Strange> p) {}
void call(Foo<Strange> p) {
test(p);
}
void test2(Foo<Foo<?>> p) {}
void call2(Foo<Foo<?>> p) {
test2(p);
}
void test3(Foo<Foo<? extends @Odd Foo<?>>> p) {}
void call3(Foo<Foo<? extends Foo<?>>> p) {
// :: error: (argument)
test3(p);
}
void testRaw(Foo p) {}
void callRaw(Foo<Foo<?>> p) {
testRaw(p);
}
}