summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-15 07:26:57 -0800
committerPaul Phillips <paulp@improving.org>2013-01-15 07:26:57 -0800
commit9731065e4ed59cce2d9bb435b0ea94aae826bea3 (patch)
tree97d066abe1b3a683d2d792303a76cc5ca4bdcf68 /test/files
parent240723b0e271ac4fde9f742ec9eb36a5a5e9ba08 (diff)
parent78019b29745b5f9c12c51994b17f1679a74665cf (diff)
downloadscala-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')
-rw-r--r--test/files/neg/t6675-old-patmat.check4
-rw-r--r--test/files/neg/t6675-old-patmat.flags1
-rw-r--r--test/files/neg/t6675-old-patmat.scala13
-rw-r--r--test/files/neg/t6675.check4
-rw-r--r--test/files/neg/t6675.flags1
-rw-r--r--test/files/neg/t6675.scala13
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
+}