test/tools/javac/lambda/TargetType28.java

Fri, 30 Nov 2012 15:14:25 +0000

author
mcimadamore
date
Fri, 30 Nov 2012 15:14:25 +0000
changeset 1434
34d1ebaf4645
parent 0
959103a6100f
permissions
-rw-r--r--

8004102: Add support for generic functional descriptors
Summary: Method references are allowed to have a generic functional interface descriptor target
Reviewed-by: jjg

     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