Sat, 22 Dec 2018 13:10:38 -0800
Added tag jdk8u202-b25 for changeset 15d8c732039b
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 8003280 |
aoqi@0 | 4 | * @summary Add lambda tests |
aoqi@0 | 5 | * target type inference in a case where lambda expression returns diamond |
aoqi@0 | 6 | * @compile/fail/ref=TargetType28.out -XDrawDiagnostics TargetType28.java |
aoqi@0 | 7 | */ |
aoqi@0 | 8 | |
aoqi@0 | 9 | class TargetType28 { |
aoqi@0 | 10 | static class SuperFoo<X> {} |
aoqi@0 | 11 | |
aoqi@0 | 12 | static class Foo<X extends Number> extends SuperFoo<X> {} |
aoqi@0 | 13 | |
aoqi@0 | 14 | interface A<X, Y> { |
aoqi@0 | 15 | SuperFoo<Y> m(X x); |
aoqi@0 | 16 | } |
aoqi@0 | 17 | |
aoqi@0 | 18 | <Z, R> SuperFoo<R> apply(A<Z, R> ax, Z x) { return null; } |
aoqi@0 | 19 | |
aoqi@0 | 20 | SuperFoo<String> ls = apply(x-> new Foo<>(), 1); |
aoqi@0 | 21 | SuperFoo<Integer> li = apply(x-> new Foo<>(), 1); |
aoqi@0 | 22 | SuperFoo<?> lw = apply(x-> new Foo<>(), 1); |
aoqi@0 | 23 | } |