diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-13 14:26:01 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-13 14:26:01 -0700 |
commit | ebb0339ff9e52cce7014e6c8e3309bffafa3abf2 (patch) | |
tree | c72e00db5b0ca8366993a6fef5b7f906228b5a1f /test | |
parent | e0d487d63144f2422d0be3bd8ac77e6f842e55ab (diff) | |
parent | ebb01e05cbe4541838efa189196fe7a49ddb82cf (diff) | |
download | scala-ebb0339ff9e52cce7014e6c8e3309bffafa3abf2.tar.gz scala-ebb0339ff9e52cce7014e6c8e3309bffafa3abf2.tar.bz2 scala-ebb0339ff9e52cce7014e6c8e3309bffafa3abf2.zip |
Merge pull request #2826 from retronym/ticket/7020-2.10.x
SI-7020 Determinism for pattern matcher warnings
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t7020.check | 17 | ||||
-rw-r--r-- | test/files/neg/t7020.flags | 1 | ||||
-rw-r--r-- | test/files/neg/t7020.scala | 30 |
3 files changed, 48 insertions, 0 deletions
diff --git a/test/files/neg/t7020.check b/test/files/neg/t7020.check new file mode 100644 index 0000000000..a869b12363 --- /dev/null +++ b/test/files/neg/t7020.check @@ -0,0 +1,17 @@ +t7020.scala:3: error: match may not be exhaustive. +It would fail on the following inputs: List((x: Int forSome x not in (1, 2, 4, 5, 6, 7))), List(_, _) + List(5) match { + ^ +t7020.scala:10: error: match may not be exhaustive. +It would fail on the following inputs: List((x: Int forSome x not in (1, 2, 4, 5, 6, 7))), List(_, _) + List(5) match { + ^ +t7020.scala:17: error: match may not be exhaustive. +It would fail on the following inputs: List((x: Int forSome x not in (1, 2, 4, 5, 6, 7))), List(_, _) + List(5) match { + ^ +t7020.scala:24: error: match may not be exhaustive. +It would fail on the following inputs: List((x: Int forSome x not in (1, 2, 4, 5, 6, 7))), List(_, _) + List(5) match { + ^ +four errors found diff --git a/test/files/neg/t7020.flags b/test/files/neg/t7020.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/neg/t7020.flags @@ -0,0 +1 @@ +-Xfatal-warnings
\ No newline at end of file diff --git a/test/files/neg/t7020.scala b/test/files/neg/t7020.scala new file mode 100644 index 0000000000..cc5421bab1 --- /dev/null +++ b/test/files/neg/t7020.scala @@ -0,0 +1,30 @@ +object Test { + // warning was non-deterministic + List(5) match { + case 1 :: Nil | 2 :: Nil => + case (x@(4 | 5 | 6)) :: Nil => + case 7 :: Nil => + case Nil => + } + + List(5) match { + case 1 :: Nil | 2 :: Nil => + case (x@(4 | 5 | 6)) :: Nil => + case 7 :: Nil => + case Nil => + } + + List(5) match { + case 1 :: Nil | 2 :: Nil => + case (x@(4 | 5 | 6)) :: Nil => + case 7 :: Nil => + case Nil => + } + + List(5) match { + case 1 :: Nil | 2 :: Nil => + case (x@(4 | 5 | 6)) :: Nil => + case 7 :: Nil => + case Nil => + } +} |