jdk-24/langtools/test/tools/javac/cast/6714835/T6714835.java
Maurizio Cimadamore e202a05c38 6714835: Safe cast is rejected (with warning) by javac
Rules for unchecked cast conversion do not take into account type-containment

Reviewed-by: jjg
2010-11-04 12:58:29 +00:00

22 lines
696 B
Java

/*
* @test /nodynamiccopyright/
* @author mcimadamore
* @bug 6714835
* @summary Safe cast is rejected (with warning) by javac
* @compile/fail/ref=T6714835.out -Xlint:unchecked -Werror -XDrawDiagnostics T6714835.java
*/
import java.util.*;
class T6714835 {
void cast1(Iterable<? extends Integer> x) {
Collection<? extends Number> x1 = (Collection<? extends Number>)x; //ok
Collection<? super Integer> x2 = (Collection<? super Integer>)x; //warn
}
void cast2(Iterable<? super Number> x) {
Collection<? super Integer> x1 = (Collection<? super Integer>)x; //ok
Collection<? extends Number> x2 = (Collection<? extends Number>)x; //warn
}
}