java-topology/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.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
802 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8177466 8191834
* @summary Add compiler support for local variable type-inference
* @compile/fail/ref=BadLocalVarInferenceTest.out -XDrawDiagnostics BadLocalVarInferenceTest.java
*/
class BadLocalVarInferenceTest {
interface Foo<X> {
void m(X x);
}
interface Supplier<X> {
void m(X x);
}
void test() {
var x;
var f = () -> { };
var m = this::l;
var g = null;
var d = d = 1;
var k = { 1 , 2 };
var l = new Foo<>() { //LHS was Foo<String>
@Override
void m(String s) { }
};
var s = f(x -> { x.charAt(0); }); //LHS was String
var t = m(); //void
}
<Z> Z f(Supplier<Z> sz) { return null; }
void m() { }
}