test/tools/javac/generics/inference/6638712/T6638712e.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 384
ed31953ca025
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
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 }

mercurial