test/tools/javac/lambda/TargetType28.java

Mon, 21 Jan 2013 20:14:39 +0000

author
mcimadamore
date
Mon, 21 Jan 2013 20:14:39 +0000
changeset 1511
c7c41a044e7c
parent 0
959103a6100f
permissions
-rw-r--r--

8006566: Remove transient lambda-related guards from JavacParser
Summary: Remove transitional internal flag for allowing intersection types in cast
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