diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-15 07:26:57 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-15 07:26:57 -0800 |
commit | 9731065e4ed59cce2d9bb435b0ea94aae826bea3 (patch) | |
tree | 97d066abe1b3a683d2d792303a76cc5ca4bdcf68 /test/files/neg | |
parent | 240723b0e271ac4fde9f742ec9eb36a5a5e9ba08 (diff) | |
parent | 78019b29745b5f9c12c51994b17f1679a74665cf (diff) | |
download | scala-9731065e4ed59cce2d9bb435b0ea94aae826bea3.tar.gz scala-9731065e4ed59cce2d9bb435b0ea94aae826bea3.tar.bz2 scala-9731065e4ed59cce2d9bb435b0ea94aae826bea3.zip |
Merge pull request #1888 from retronym/ticket/6675
SI-6675 -Xlint arity enforcement for extractors
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t6675-old-patmat.check | 4 | ||||
-rw-r--r-- | test/files/neg/t6675-old-patmat.flags | 1 | ||||
-rw-r--r-- | test/files/neg/t6675-old-patmat.scala | 13 | ||||
-rw-r--r-- | test/files/neg/t6675.check | 4 | ||||
-rw-r--r-- | test/files/neg/t6675.flags | 1 | ||||
-rw-r--r-- | test/files/neg/t6675.scala | 13 |
6 files changed, 36 insertions, 0 deletions
diff --git a/test/files/neg/t6675-old-patmat.check b/test/files/neg/t6675-old-patmat.check new file mode 100644 index 0000000000..bc3920da06 --- /dev/null +++ b/test/files/neg/t6675-old-patmat.check @@ -0,0 +1,4 @@ +t6675-old-patmat.scala:10: error: extractor pattern binds a single value to a Product3 of type (Int, Int, Int) + "" match { case X(b) => b } // should warn under -Xlint. Not an error because of SI-6111 + ^ +one error found diff --git a/test/files/neg/t6675-old-patmat.flags b/test/files/neg/t6675-old-patmat.flags new file mode 100644 index 0000000000..604de64a62 --- /dev/null +++ b/test/files/neg/t6675-old-patmat.flags @@ -0,0 +1 @@ +-Xlint -Xfatal-warnings -Xoldpatmat
\ No newline at end of file diff --git a/test/files/neg/t6675-old-patmat.scala b/test/files/neg/t6675-old-patmat.scala new file mode 100644 index 0000000000..4d500b77ba --- /dev/null +++ b/test/files/neg/t6675-old-patmat.scala @@ -0,0 +1,13 @@ +object X { + def unapply(s: String): Option[(Int,Int,Int)] = Some((1,2,3)) +} + +object Y { + def unapplySeq(s: String): Option[Seq[(Int,Int,Int)]] = Some(Seq((1,2,3))) +} + +object Test { + "" match { case X(b) => b } // should warn under -Xlint. Not an error because of SI-6111 + + "" match { case Y(b) => b } // no warning +} diff --git a/test/files/neg/t6675.check b/test/files/neg/t6675.check new file mode 100644 index 0000000000..7b271de213 --- /dev/null +++ b/test/files/neg/t6675.check @@ -0,0 +1,4 @@ +t6675.scala:10: error: extractor pattern binds a single value to a Product3 of type (Int, Int, Int) + "" match { case X(b) => b } // should warn under -Xlint. Not an error because of SI-6111 + ^ +one error found diff --git a/test/files/neg/t6675.flags b/test/files/neg/t6675.flags new file mode 100644 index 0000000000..e93641e931 --- /dev/null +++ b/test/files/neg/t6675.flags @@ -0,0 +1 @@ +-Xlint -Xfatal-warnings
\ No newline at end of file diff --git a/test/files/neg/t6675.scala b/test/files/neg/t6675.scala new file mode 100644 index 0000000000..4d500b77ba --- /dev/null +++ b/test/files/neg/t6675.scala @@ -0,0 +1,13 @@ +object X { + def unapply(s: String): Option[(Int,Int,Int)] = Some((1,2,3)) +} + +object Y { + def unapplySeq(s: String): Option[Seq[(Int,Int,Int)]] = Some(Seq((1,2,3))) +} + +object Test { + "" match { case X(b) => b } // should warn under -Xlint. Not an error because of SI-6111 + + "" match { case Y(b) => b } // no warning +} |