Fri, 05 Jul 2013 11:04:22 +0100
8016702: use of ternary operator in lambda expression gives incorrect results
Summary: Constant types erroneously creep in during inference
Reviewed-by: jjg, vromero
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * check that wildcards in the target method of a lambda conversion is handled correctly
6 * @author Maurizio Cimadamore
7 * @compile/fail/ref=TargetType10.out -XDrawDiagnostics TargetType10.java
8 */
10 class TargetType10 {
11 interface Function<A,R> {
12 R apply(A a);
13 }
15 static class Test {
16 <A,B,C> Function<A,C> compose(Function<B,C> g, Function<A,? extends B> f) { return null; }
17 { compose(x -> "a" + x, x -> x + "b"); }
18 }
19 }