/** * @test /nodynamiccopyright/ * @bug 8012003 * @summary Method diagnostics resolution need to be simplified in some cases * test lambda-related overload resolution simplifications * @compile/fail/ref=T8012003b.out -XDrawDiagnostics -Xdiags:compact T8012003b.java */ class T8012003b { interface Consumer_V<X> { void m(X x); } interface Consumer_NV<X> { Integer m(X x); } void m1(Runnable r) { } void m1(Runnable r, String s) { } void m2(Consumer_V<Integer> ci) { } void m3(Consumer_NV<String> ci) { } void g(String arg) { } String g2(String arg) { return arg; } void test() { m1(this::g); m1(()->1); m1(()->false ? "" : ""); m2(this::g); m3(this::g2); m3(this::k); } }