--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/cast/6714835/T6714835.java Thu Nov 04 12:58:29 2010 +0000
@@ -0,0 +1,21 @@
+/*
+ * @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
+ }
+}