|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check that return type is inferred from target type when cyclic inference found |
|
6 * @author Maurizio Cimadamore |
|
7 * @compile/fail/ref=TargetType14.out -XDrawDiagnostics TargetType14.java |
|
8 */ |
|
9 |
|
10 class TargetType14 { |
|
11 |
|
12 interface SAM<X> { |
|
13 X m(int i, int j); |
|
14 } |
|
15 |
|
16 static void test() { |
|
17 SAM<Integer> s1 = (i, j) -> i + j; |
|
18 m((i, j) -> i + j); |
|
19 SAM<Integer> s2 = m2((i, j) -> i + j); //ok |
|
20 SAM<Integer> s3 = m2((i, j) -> "" + i + j); //no |
|
21 } |
|
22 |
|
23 static void m(SAM<Integer> s) { } |
|
24 static <X> SAM<X> m2(SAM<X> s) { return null; } |
|
25 } |