summaryrefslogtreecommitdiff
path: root/test/files/neg/pat_unreachable.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-07-07 17:42:06 +0000
committerPaul Phillips <paulp@improving.org>2009-07-07 17:42:06 +0000
commitac4542b356cc918da5e94dd11616c6d9f0d455cf (patch)
tree881a3c9ad7e3ad42ae0df4810d486bd55fea3188 /test/files/neg/pat_unreachable.scala
parent99ede604a0a16dc0a63383cd90f8b7d38c4f8fd3 (diff)
downloadscala-ac4542b356cc918da5e94dd11616c6d9f0d455cf.tar.gz
scala-ac4542b356cc918da5e94dd11616c6d9f0d455cf.tar.bz2
scala-ac4542b356cc918da5e94dd11616c6d9f0d455cf.zip
Lots of work hardening matching on sequences.
one long-standing bug which actually had a test case testing its bugginess (which is to say, when I fixed the bug, the test case failed.) This: - def doMatch4(xs:Seq[Char]) = xs match { - case Seq(x, y, _*) => x::y::Nil - case Seq(x, y, z, w) => List(z,w) // redundant! - } ...should never have compiled - which must have been recognized on some level given the "redundant!" comment, but it never made it into neg/.
Diffstat (limited to 'test/files/neg/pat_unreachable.scala')
-rw-r--r--test/files/neg/pat_unreachable.scala20
1 files changed, 20 insertions, 0 deletions
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