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