summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/pat_unreachable.check7
-rw-r--r--test/files/neg/pat_unreachable.scala20
-rw-r--r--test/files/neg/patternalts.scala5
3 files changed, 28 insertions, 4 deletions
diff --git a/test/files/neg/pat_unreachable.check b/test/files/neg/pat_unreachable.check
new file mode 100644
index 0000000000..4e1463d591
--- /dev/null
+++ b/test/files/neg/pat_unreachable.check
@@ -0,0 +1,7 @@
+pat_unreachable.scala:5: error: unreachable code
+ case Seq(x, y, z, w) => List(z,w) // redundant!
+ ^
+pat_unreachable.scala:9: error: unreachable code
+ case Seq(x, y) => List(x, y)
+ ^
+two errors found
diff --git a/test/files/neg/pat_unreachable.scala b/test/files/neg/pat_unreachable.scala
new file mode 100644
index 0000000000..c07be8edf0
--- /dev/null
+++ b/test/files/neg/pat_unreachable.scala
@@ -0,0 +1,20 @@
+
+object Test extends Application {
+ def unreachable1(xs:Seq[Char]) = xs match {
+ case Seq(x, y, _*) => x::y::Nil
+ case Seq(x, y, z, w) => List(z,w) // redundant!
+ }
+ def unreachable2(xs:Seq[Char]) = xs match {
+ case Seq(x, y, _*) => x::y::Nil
+ case Seq(x, y) => List(x, y)
+ }
+
+ def not_unreachable(xs:Seq[Char]) = xs match {
+ case Seq(x, y, _*) => x::y::Nil
+ case Seq(x) => List(x)
+ }
+ def not_unreachable2(xs:Seq[Char]) = xs match {
+ case Seq(x, y) => x::y::Nil
+ case Seq(x, y, z, _*) => List(x,y)
+ }
+} \ No newline at end of file
diff --git a/test/files/neg/patternalts.scala b/test/files/neg/patternalts.scala
index 62d0325a8b..513b81eb5e 100644
--- a/test/files/neg/patternalts.scala
+++ b/test/files/neg/patternalts.scala
@@ -2,7 +2,4 @@ object Test {
List(1) match {
case List(x) | List() => Console.println(x)
}
- List(2) match {
- case List(_: Int) | List() => Console.println()
- }
-}
+} \ No newline at end of file