--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.java Tue Sep 26 12:52:53 2017 +0100
@@ -0,0 +1,33 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8177466
+ * @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
+ }
+
+ <Z> Z f(Supplier<Z> sz) { return null; }
+}