test/tools/javac/lambda/TargetType28.java

Mon, 02 Sep 2013 22:38:36 +0100

author
vromero
date
Mon, 02 Sep 2013 22:38:36 +0100
changeset 2000
4a6acc42c3a1
parent 0
959103a6100f
permissions
-rw-r--r--

8016177: structural most specific and stuckness
Reviewed-by: jjg, vromero
Contributed-by: maurizio.cimadamore@oracle.com

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  target type inference in a case where lambda expression returns diamond
     6  * @compile/fail/ref=TargetType28.out -XDrawDiagnostics TargetType28.java
     7  */
     9 class TargetType28 {
    10     static class SuperFoo<X> {}
    12     static class Foo<X extends Number> extends SuperFoo<X> {}
    14     interface A<X, Y> {
    15        SuperFoo<Y> m(X x);
    16     }
    18     <Z, R> SuperFoo<R> apply(A<Z, R> ax, Z x) { return null; }
    20     SuperFoo<String> ls = apply(x-> new Foo<>(), 1);
    21     SuperFoo<Integer> li = apply(x-> new Foo<>(), 1);
    22     SuperFoo<?> lw = apply(x-> new Foo<>(), 1);
    23 }

mercurial