langtools/test/tools/javac/generics/7034511/T7034511a.java
author mcimadamore
Tue, 12 Apr 2011 20:56:16 -0700
changeset 9301 da48f63f0b22
child 9607 94b7adcaccad
permissions -rw-r--r--
7034511: Loophole in typesafety Summary: Type-variable substutution takes upper bound of replaced captured type-variable Reviewed-by: dlsmith

/*
 * @test /nodynamiccopyright/
 * @bug     7034511
 * @summary Loophole in typesafety
 * @compile/fail/ref=T7034511a.out -XDrawDiagnostics T7034511a.java
 */

class T7034511a {

    interface A<T> {
        void foo(T x);
    }

    interface B<T> extends A<T[]> { }

    static abstract class C implements B<Integer> {
        <T extends B<?>> void test(T x, String[] ss) {
            x.foo(ss);
        }
    }
}