diff -r 000000000000 -r 959103a6100f test/tools/javac/lambda/LambdaExpr10.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/LambdaExpr10.java Wed Apr 27 01:34:52 2016 +0800 @@ -0,0 +1,37 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8003280 + * @summary Add lambda tests + * check that lambda in array initializers (with wrong type) are correctly rejected + * @compile/fail/ref=LambdaExpr10.out -XDrawDiagnostics LambdaExpr10.java + */ + +class LambdaExpr10 { + + interface Block { + void m(T t); + } + + void apply(Object[] obj_arr) { } + + void test1() { + Object[] arr1 = { t -> { } }; + Object[][] arr2 = { { t -> { } } }; + } + + void test2() { + Object[] arr1 = new Object[]{ t -> { } }; + Object[][] arr2 = new Object[][]{ { t -> { } } }; + } + + void test3() { + apply(new Object[]{ t -> { } }); + apply(new Object[][]{ { t -> { } } }); + } + + void test4() { + Block[] arr1 = { t -> t }; + Block[] arr2 = new Block[]{ t -> t }; + apply(new Block[]{ t -> { }, t -> { } }); + } +}