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
9class 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}
38