|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check that lambda in array initializers (with wrong type) are correctly rejected |
|
6 * @compile/fail/ref=LambdaExpr10.out -XDrawDiagnostics LambdaExpr10.java |
|
7 */ |
|
8 |
|
9 class LambdaExpr10 { |
|
10 |
|
11 interface Block<T> { |
|
12 void m(T t); |
|
13 } |
|
14 |
|
15 void apply(Object[] obj_arr) { } |
|
16 |
|
17 void test1() { |
|
18 Object[] arr1 = { t -> { } }; |
|
19 Object[][] arr2 = { { t -> { } } }; |
|
20 } |
|
21 |
|
22 void test2() { |
|
23 Object[] arr1 = new Object[]{ t -> { } }; |
|
24 Object[][] arr2 = new Object[][]{ { t -> { } } }; |
|
25 } |
|
26 |
|
27 void test3() { |
|
28 apply(new Object[]{ t -> { } }); |
|
29 apply(new Object[][]{ { t -> { } } }); |
|
30 } |
|
31 |
|
32 void test4() { |
|
33 Block<?>[] arr1 = { t -> t }; |
|
34 Block<?>[] arr2 = new Block<?>[]{ t -> t }; |
|
35 apply(new Block<?>[]{ t -> { }, t -> { } }); |
|
36 } |
|
37 } |