java-topology/test/langtools/tools/javac/generics/diamond/neg/Neg20.java
russell@unturf.com 0a580b313d undefect. CWE-407 — 63 sites patched across 27 ecosystems
Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com

Patches, unit tests, benchmarks, whitepaper, and outreach briefs.
Public domain — no copyright claimed. Use freely.
2026-03-26 17:11:57 -04:00

36 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<>() {
};
}
}