test/tools/javac/generics/7034511/T7034511a.java

Mon, 02 May 2011 12:05:41 +0100

author
mcimadamore
date
Mon, 02 May 2011 12:05:41 +0100
changeset 996
384ea9a98912
parent 970
f00986f55961
child 1721
abd153854f16
permissions
-rw-r--r--

7040883: Compilation error: "length in Array is defined in an inaccessible class or interface"
Summary: Fix of 7034511 (now backed out) is causing spurious accessibility errors
Reviewed-by: jjg

mcimadamore@970 1 /*
mcimadamore@970 2 * @test /nodynamiccopyright/
mcimadamore@996 3 * @ignore backing out 7034511, see 7040883
mcimadamore@996 4 * @bug 7034511 7040883
mcimadamore@970 5 * @summary Loophole in typesafety
mcimadamore@970 6 * @compile/fail/ref=T7034511a.out -XDrawDiagnostics T7034511a.java
mcimadamore@970 7 */
mcimadamore@970 8
mcimadamore@970 9 class T7034511a {
mcimadamore@970 10
mcimadamore@970 11 interface A<T> {
mcimadamore@970 12 void foo(T x);
mcimadamore@970 13 }
mcimadamore@970 14
mcimadamore@970 15 interface B<T> extends A<T[]> { }
mcimadamore@970 16
mcimadamore@970 17 static abstract class C implements B<Integer> {
mcimadamore@970 18 <T extends B<?>> void test(T x, String[] ss) {
mcimadamore@970 19 x.foo(ss);
mcimadamore@970 20 }
mcimadamore@970 21 }
mcimadamore@970 22 }

mercurial