| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8003280 |
| * @summary Add lambda tests |
| * check that return type is inferred from target type when cyclic inference found |
| * @author Maurizio Cimadamore |
| * @compile/fail/ref=TargetType14.out -XDrawDiagnostics TargetType14.java |
| */ |
| |
| class TargetType14 { |
| |
| interface SAM<X> { |
| X m(int i, int j); |
| } |
| |
| static void test() { |
| SAM<Integer> s1 = (i, j) -> i + j; |
| m((i, j) -> i + j); |
| SAM<Integer> s2 = m2((i, j) -> i + j); //ok |
| SAM<Integer> s3 = m2((i, j) -> "" + i + j); //no |
| } |
| |
| static void m(SAM<Integer> s) { } |
| static <X> SAM<X> m2(SAM<X> s) { return null; } |
| } |