test/tools/javac/lambda/TargetType10.java

Fri, 05 Jul 2013 11:02:17 +0100

author
mcimadamore
date
Fri, 05 Jul 2013 11:02:17 +0100
changeset 1888
70b37cdb19d5
parent 1415
01c9d4161882
child 2000
4a6acc42c3a1
permissions
-rw-r--r--

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

mcimadamore@1415 1 /*
mcimadamore@1415 2 * @test /nodynamiccopyright/
mcimadamore@1415 3 * @bug 8003280
mcimadamore@1415 4 * @summary Add lambda tests
mcimadamore@1415 5 * check that wildcards in the target method of a lambda conversion is handled correctly
mcimadamore@1415 6 * @author Maurizio Cimadamore
mcimadamore@1415 7 * @compile/fail/ref=TargetType10.out -XDrawDiagnostics TargetType10.java
mcimadamore@1415 8 */
mcimadamore@1415 9
mcimadamore@1415 10 class TargetType10 {
mcimadamore@1415 11 interface Function<A,R> {
mcimadamore@1415 12 R apply(A a);
mcimadamore@1415 13 }
mcimadamore@1415 14
mcimadamore@1415 15 static class Test {
mcimadamore@1415 16 <A,B,C> Function<A,C> compose(Function<B,C> g, Function<A,? extends B> f) { return null; }
mcimadamore@1415 17 { compose(x -> "a" + x, x -> x + "b"); }
mcimadamore@1415 18 }
mcimadamore@1415 19 }

mercurial