|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check case of ambiguous method call with lambda whose body cannot |
|
6 complete normally |
|
7 * @compile/fail/ref=TargetType23.out -XDrawDiagnostics TargetType23.java |
|
8 */ |
|
9 |
|
10 class TargetType23 { |
|
11 |
|
12 interface Sam0 { |
|
13 void m(); |
|
14 } |
|
15 |
|
16 interface Sam1 { |
|
17 int m(); |
|
18 } |
|
19 |
|
20 interface Sam2 { |
|
21 String m(); |
|
22 } |
|
23 |
|
24 interface Sam3<A> { |
|
25 A m(); |
|
26 } |
|
27 |
|
28 |
|
29 void call(Sam0 s) { } |
|
30 void call(Sam1 s) { } |
|
31 void call(Sam2 s) { } |
|
32 <Z> void call(Sam3<Z> s) { } |
|
33 |
|
34 void test() { |
|
35 call(()-> { throw new RuntimeException(); }); //ambiguous - both call(Sam0), call(Sam2), call(Sam3) match |
|
36 } |
|
37 } |