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

Tue, 12 Apr 2011 20:56:16 -0700

author
mcimadamore
date
Tue, 12 Apr 2011 20:56:16 -0700
changeset 970
f00986f55961
child 996
384ea9a98912
permissions
-rw-r--r--

7034511: Loophole in typesafety
Summary: Type-variable substutution takes upper bound of replaced captured type-variable
Reviewed-by: dlsmith

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

mercurial