blob: ec411f85a4adaa89ac464c88a6734f6ab3cd4ed7 [file] [log] [blame]
class One {
abstract static class B<A extends B<A, C>, C extends One> {
abstract C build();
A f() {
throw new AssertionError();
}
}
}
class Two extends One {
static class B<D extends B<D>> extends One.B<D, Two> {
@Override
Two build() {
throw new AssertionError();
}
}
}
class Three<E extends Three<E>> extends Two.B<E> {
static Three<?> c() {
throw new AssertionError();
}
E g() {
throw new AssertionError();
}
}