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 34 35 36 37
|
/**
* @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);
}
}
|