Tue, 01 Sep 2009 14:53:39 +0100
6650759: Inference of formal type parameter (unused in formal parameters) is not performed
Summary: propagate inference constraints from 15.12.2.7 to 15.12.2.8
Reviewed-by: jjg
mcimadamore@299 | 1 | /* |
jjg@384 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@299 | 3 | * @bug 6638712 6795689 |
mcimadamore@299 | 4 | * @author mcimadamore |
mcimadamore@299 | 5 | * @summary Inference with wildcard types causes selection of inapplicable method |
mcimadamore@299 | 6 | * @compile/fail/ref=T6638712e.out -XDrawDiagnostics T6638712e.java |
mcimadamore@299 | 7 | */ |
mcimadamore@299 | 8 | |
mcimadamore@299 | 9 | class T6638712e { |
mcimadamore@299 | 10 | |
mcimadamore@299 | 11 | static class Foo<A, B> { |
mcimadamore@299 | 12 | <X> Foo<X, B> m(Foo<? super X, ? extends A> foo) { return null;} |
mcimadamore@299 | 13 | } |
mcimadamore@299 | 14 | |
mcimadamore@299 | 15 | static class Test { |
mcimadamore@299 | 16 | Foo<Object, String> test(Foo<Boolean, String> foo1, Foo<Boolean, Boolean> foo2) { |
mcimadamore@299 | 17 | return foo1.m(foo2); |
mcimadamore@299 | 18 | } |
mcimadamore@299 | 19 | } |
mcimadamore@299 | 20 | } |