1/**
2 * @test /nodynamiccopyright/
3 * @bug     8012003
4 * @summary Method diagnostics resolution need to be simplified in some cases
5 *          test lambda-related overload resolution simplifications
6 * @compile/fail/ref=T8012003b.out -XDrawDiagnostics -Xdiags:compact T8012003b.java
7 */
8
9class T8012003b {
10
11    interface Consumer_V<X> {
12        void m(X x);
13    }
14
15    interface Consumer_NV<X> {
16        Integer m(X x);
17    }
18
19    void m1(Runnable r) { }
20    void m1(Runnable r, String s) { }
21
22    void m2(Consumer_V<Integer> ci) { }
23
24    void m3(Consumer_NV<String> ci) { }
25
26    void g(String arg) { }
27    String g2(String arg) { return arg; }
28
29    void test() {
30        m1(this::g);
31        m1(()->1);
32        m1(()->false ? "" : "");
33        m2(this::g);
34        m3(this::g2);
35        m3(this::k);
36    }
37}
38