37 lines
798 B
Java
37 lines
798 B
Java
|
/*
|
||
|
* @test /nodynamiccopyright/
|
||
|
* @bug 8078592
|
||
|
* @summary Compiler fails to reject erroneous use of diamond with anonymous classes involving "fresh" type variables.
|
||
|
* @compile/fail/ref=Neg20.out Neg20.java -XDrawDiagnostics
|
||
|
*/
|
||
|
import java.lang.annotation.ElementType;
|
||
|
import java.lang.annotation.Target;
|
||
|
|
||
|
public class Neg20 {
|
||
|
static class Foo<E extends B<E>> {
|
||
|
public Foo<E> complexMethod(E a) {
|
||
|
return this;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static class Goo<@T E> {
|
||
|
public Goo<E> complexMethod(E a) {
|
||
|
return this;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static class B<V> {
|
||
|
}
|
||
|
|
||
|
@Target(ElementType.TYPE_USE)
|
||
|
static @interface T {
|
||
|
}
|
||
|
|
||
|
public static void check() {
|
||
|
Foo<?> t4 = new Foo<>() {
|
||
|
};
|
||
|
Goo<?> g4 = new Goo<>() {
|
||
|
};
|
||
|
}
|
||
|
}
|