1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
/*
* @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;
});
}
}
|