Maurizio Cimadamore c46387423a 7034511: Loophole in typesafety
Type-variable substutution takes upper bound of replaced captured type-variable

Reviewed-by: dlsmith
2011-04-12 20:56:16 -07:00

22 lines
418 B
Java

/*
* @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);
}
}
}