summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2010-08-23 13:17:06 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2010-08-23 13:17:06 +0000
commit38ba1149cb46b7c2240a8dcbacb2b97d5437a886 (patch)
tree1e6f42e14ee3385f9d604d99b8cdee6d7329e8a8
parent74da0c78515875ef12a13f24260bcb765aa0cc1a (diff)
downloadscala-38ba1149cb46b7c2240a8dcbacb2b97d5437a886.tar.gz
scala-38ba1149cb46b7c2240a8dcbacb2b97d5437a886.tar.bz2
scala-38ba1149cb46b7c2240a8dcbacb2b97d5437a886.zip
in refchecks, visit the qualifier of irrefutabl...
in refchecks, visit the qualifier of irrefutable filters. close #3773. review by moors.
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala2
-rw-r--r--test/files/neg/t3773.check4
-rw-r--r--test/files/neg/t3773.flags1
-rw-r--r--test/files/neg/t3773.scala5
4 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index 1a1ae99d28..162749da41 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -1124,7 +1124,7 @@ abstract class RefChecks extends InfoTransform {
if ((pname startsWith nme.CHECK_IF_REFUTABLE_STRING) &&
isIrrefutable(pat1, tpt.tpe) && (qual.tpe <:< tree.tpe)) =>
- qual
+ transform(qual)
case Apply(Select(New(tpt), name), args)
if (tpt.tpe.typeSymbol == ArrayClass && args.length >= 2) =>
diff --git a/test/files/neg/t3773.check b/test/files/neg/t3773.check
new file mode 100644
index 0000000000..29a3e14d83
--- /dev/null
+++ b/test/files/neg/t3773.check
@@ -0,0 +1,4 @@
+t3773.scala:3: error: method elements in trait IterableLike is deprecated: use `iterator' instead
+ for ((v, t) <- m.elements) ()
+ ^
+one error found
diff --git a/test/files/neg/t3773.flags b/test/files/neg/t3773.flags
new file mode 100644
index 0000000000..d1b831ea87
--- /dev/null
+++ b/test/files/neg/t3773.flags
@@ -0,0 +1 @@
+-deprecation -Xfatal-warnings \ No newline at end of file
diff --git a/test/files/neg/t3773.scala b/test/files/neg/t3773.scala
new file mode 100644
index 0000000000..3b92ed2d23
--- /dev/null
+++ b/test/files/neg/t3773.scala
@@ -0,0 +1,5 @@
+object t {
+ val m = Map(1 -> "one")
+ for ((v, t) <- m.elements) ()
+}
+