Fri, 05 Jul 2013 11:02:17 +0100
8019480: Javac crashes when method is called on a type-variable receiver from lambda expression
Summary: Logic for shortcircuiting speculative attribution doesn't handle type-variable receivers
Reviewed-by: jjg, vromero
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * check that a conditonal can't be void
6 * @compile/fail/ref=BadExpressionLambda.out -XDrawDiagnostics BadExpressionLambda.java
7 */
9 class BadExpressionLambda {
11 interface SAM {
12 void invoke();
13 }
15 public static void m() {}
17 void test() {
18 SAM sam1 = () -> m(); //ok
19 SAM sam2 = () -> true ? m() : m(); //not ok
20 }
21 }