public class Main { | |
static class A {} | |
static class B extends A {} | |
static class X<T> { } | |
static class Y<T> extends X<T> { } | |
private void test1(X<B> x) { | |
Y<A> y = <error descr="Inconvertible types; cannot cast 'Main.X<Main.B>' to 'Main.Y<Main.A>'">(Y<A>) x</error>; | |
} | |
private void test2(X<A> x) { | |
Y<A> y = (Y<A>) x; | |
} | |
private void test3(Y<B> y1) { | |
@SuppressWarnings("unchecked") | |
Y<A> y2 = <error descr="Inconvertible types; cannot cast 'Main.Y<Main.B>' to 'Main.Y<Main.A>'">(Y<A>) y1</error>; | |
} | |
} |