Tue, 12 Apr 2011 20:56:16 -0700
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 }