java-topology/test/langtools/tools/javac/lambda/8023549/T8023549.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

27 lines
686 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8023549
* @summary Compiler emitting spurious errors when constructor reference type is inferred and explicit type arguments are supplied
* @compile/fail/ref=T8023549.out -XDrawDiagnostics T8023549.java
*/
public class T8023549 {
static class Foo<X> { }
interface Supplier<X> {
X make();
}
interface ExtSupplier<X> extends Supplier<X> { }
void m1(Supplier<Foo<String>> sfs) { }
void m2(Supplier<Foo<String>> sfs) { }
void m2(ExtSupplier<Foo<Integer>> sfs) { }
void test() {
Supplier<Foo<String>> sfs = Foo::<Number>new;
m1(Foo::<Number>new);
m2(Foo::<Number>new);
}
}