/* * @test /nodynamiccopyright/ * @bug 8042759 * @summary Lambda returning implicitly-typed lambdas considered pertinent to applicability * @compile/fail/ref=ImplicitLambdaConsideredForApplicabilityTest.out -XDrawDiagnostics ImplicitLambdaConsideredForApplicabilityTest.java */ abstract class ImplicitLambdaConsideredForApplicabilityTest { interface A { B m(int a, int b); } interface C { String m(int a, int b); } interface B { int m(int c); } abstract void foo(A a); abstract void foo(C c); void bar() { foo((int a, int b) -> { if(a < b) return c -> 0; else return c -> 0; }); } }