summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-05-26 00:04:17 +0000
committerPaul Phillips <paulp@improving.org>2010-05-26 00:04:17 +0000
commit910adc615aba4770361ff99c45a45453acb580c6 (patch)
tree7bb1d87fd79e5b834679d12695f0bdad9de4ebdc /test/files
parent97abbae86af0c2b508583394e088291ac8241f29 (diff)
downloadscala-910adc615aba4770361ff99c45a45453acb580c6.tar.gz
scala-910adc615aba4770361ff99c45a45453acb580c6.tar.bz2
scala-910adc615aba4770361ff99c45a45453acb580c6.zip
Added a migration warning for matches and insta...
Added a migration warning for matches and instance tests when it might be an Array/Seq test whose answer has changed. Review by odersky.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/array-not-seq.check16
-rw-r--r--test/files/neg/array-not-seq.flags1
-rw-r--r--test/files/neg/array-not-seq.scala26
3 files changed, 43 insertions, 0 deletions
diff --git a/test/files/neg/array-not-seq.check b/test/files/neg/array-not-seq.check
new file mode 100644
index 0000000000..bd72bb4e13
--- /dev/null
+++ b/test/files/neg/array-not-seq.check
@@ -0,0 +1,16 @@
+array-not-seq.scala:2: error: An Array will no longer match as Seq[_].
+ def f1(x: Any) = x.isInstanceOf[Seq[_]]
+ ^
+array-not-seq.scala:4: error: An Array will no longer match as Seq[_].
+ case _: Seq[_] => true
+ ^
+error: An Array will no longer match as Seq[_].
+array-not-seq.scala:16: error: An Array will no longer match as Seq[_].
+ case (Some(_: Seq[_]), Nil, _) => 1
+ ^
+error: An Array will no longer match as Seq[_].
+array-not-seq.scala:15: error: An Array will no longer match as Seq[_].
+ def f5(x1: Any, x2: Any, x3: AnyRef) = (x1, x2, x3) match {
+ ^
+error: An Array will no longer match as Seq[_].
+7 errors found
diff --git a/test/files/neg/array-not-seq.flags b/test/files/neg/array-not-seq.flags
new file mode 100644
index 0000000000..4e9f7e4a56
--- /dev/null
+++ b/test/files/neg/array-not-seq.flags
@@ -0,0 +1 @@
+-Xmigration -Xfatal-warnings \ No newline at end of file
diff --git a/test/files/neg/array-not-seq.scala b/test/files/neg/array-not-seq.scala
new file mode 100644
index 0000000000..07a2898d88
--- /dev/null
+++ b/test/files/neg/array-not-seq.scala
@@ -0,0 +1,26 @@
+object Test {
+ def f1(x: Any) = x.isInstanceOf[Seq[_]]
+ def f2(x: Any) = x match {
+ case _: Seq[_] => true
+ case _ => false
+ }
+
+ def f3(x: Any) = x match {
+ case _: Array[_] => true
+ case _ => false
+ }
+
+ def f4(x: Any) = x.isInstanceOf[Traversable[_]]
+
+ def f5(x1: Any, x2: Any, x3: AnyRef) = (x1, x2, x3) match {
+ case (Some(_: Seq[_]), Nil, _) => 1
+ case (None, List(_: List[_], _), _) => 2
+ case _ => 3
+ }
+
+ def main(args: Array[String]): Unit = {
+ // println(f1(Array(1)))
+ // println(f2(Array(1)))
+ // println(f3(Array(1))
+ }
+}