/** | |
* @test /nodynamiccopyright/ | |
* @bug 6838943 | |
* @summary inference: javac is not handling type-variable substitution properly | |
* @compile/fail/ref=T6838943.out -XDrawDiagnostics T6838943.java | |
*/ | |
class T6838943 { | |
static class A<X> {} | |
static class B {} | |
static class C<X> { | |
<Z> void m(X x, Z z) { | |
C<A<Z>> c = new C<A<Z>>(); | |
c.m(new A<B>(), new B()); //should fail | |
} | |
} | |
} |