c46387423a
Type-variable substutution takes upper bound of replaced captured type-variable Reviewed-by: dlsmith
22 lines
418 B
Java
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);
|
|
}
|
|
}
|
|
}
|