summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-10-04 23:10:50 -0700
committerPaul Phillips <paulp@improving.org>2012-10-04 23:10:50 -0700
commit5e1cbba30766bd66e696175d08a013f74bcd0aff (patch)
treecf945eb58cf120248b76fa4b549535b9dc3753ef /test/files
parent535ad7abfc841abfdef5110b3ee7d66164a37468 (diff)
parentd7354838948be58b8045e1218a9c757d9b90df76 (diff)
downloadscala-5e1cbba30766bd66e696175d08a013f74bcd0aff.tar.gz
scala-5e1cbba30766bd66e696175d08a013f74bcd0aff.tar.bz2
scala-5e1cbba30766bd66e696175d08a013f74bcd0aff.zip
Merge pull request #1447 from paulp/spurious
Spurious warning elimination.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/catch-all.check9
-rw-r--r--test/files/neg/nonlocal-warning.check3
-rw-r--r--test/files/neg/nonlocal-warning.scala11
-rw-r--r--test/files/neg/t3015.check5
-rw-r--r--test/files/pos/classtag-pos.flags1
-rw-r--r--test/files/pos/classtag-pos.scala5
6 files changed, 26 insertions, 8 deletions
diff --git a/test/files/neg/catch-all.check b/test/files/neg/catch-all.check
index aaf51480c3..2d58dd99a8 100644
--- a/test/files/neg/catch-all.check
+++ b/test/files/neg/catch-all.check
@@ -1,10 +1,13 @@
-catch-all.scala:2: warning: This catches all Throwables. If this is really intended, use `case _ : Throwable` to clear this warning.
+catch-all.scala:2: warning: This catches all Throwables, which often has undesirable consequences.
+If intentional, use `case _ : Throwable` to clear this warning.
try { "warn" } catch { case _ => }
^
-catch-all.scala:4: warning: This catches all Throwables. If this is really intended, use `case x : Throwable` to clear this warning.
+catch-all.scala:4: warning: This catches all Throwables, which often has undesirable consequences.
+If intentional, use `case x : Throwable` to clear this warning.
try { "warn" } catch { case x => }
^
-catch-all.scala:6: warning: This catches all Throwables. If this is really intended, use `case x : Throwable` to clear this warning.
+catch-all.scala:6: warning: This catches all Throwables, which often has undesirable consequences.
+If intentional, use `case x : Throwable` to clear this warning.
try { "warn" } catch { case _: RuntimeException => ; case x => }
^
error: No warnings can be incurred under -Xfatal-warnings.
diff --git a/test/files/neg/nonlocal-warning.check b/test/files/neg/nonlocal-warning.check
index 5202df655a..67b3b10095 100644
--- a/test/files/neg/nonlocal-warning.check
+++ b/test/files/neg/nonlocal-warning.check
@@ -1,4 +1,5 @@
-nonlocal-warning.scala:4: warning: This catches all Throwables. If this is really intended, use `case x : Throwable` to clear this warning.
+nonlocal-warning.scala:4: warning: This catches all Throwables, which often has undesirable consequences.
+If intentional, use `case x : Throwable` to clear this warning.
catch { case x => 11 }
^
nonlocal-warning.scala:2: warning: catch block may intercept non-local return from method foo
diff --git a/test/files/neg/nonlocal-warning.scala b/test/files/neg/nonlocal-warning.scala
index cc98bd631a..f908a86302 100644
--- a/test/files/neg/nonlocal-warning.scala
+++ b/test/files/neg/nonlocal-warning.scala
@@ -4,4 +4,15 @@ class Foo {
catch { case x => 11 }
22
}
+
+ val pf: PartialFunction[Throwable, Unit] = {
+ case x if false => ()
+ }
+
+ def bar(l: List[Int]): Int = {
+ try l foreach { _ => return 5 }
+ catch pf
+ finally println()
+ 22
+ }
}
diff --git a/test/files/neg/t3015.check b/test/files/neg/t3015.check
index 4a03c940f4..6948392bb0 100644
--- a/test/files/neg/t3015.check
+++ b/test/files/neg/t3015.check
@@ -3,7 +3,4 @@ t3015.scala:7: error: scrutinee is incompatible with pattern type;
required: String
val b(foo) = "foo"
^
-error: type mismatch;
- found : _$1
- required: String
-two errors found
+one error found
diff --git a/test/files/pos/classtag-pos.flags b/test/files/pos/classtag-pos.flags
new file mode 100644
index 0000000000..281f0a10cd
--- /dev/null
+++ b/test/files/pos/classtag-pos.flags
@@ -0,0 +1 @@
+-Yrangepos
diff --git a/test/files/pos/classtag-pos.scala b/test/files/pos/classtag-pos.scala
new file mode 100644
index 0000000000..768d2e27f4
--- /dev/null
+++ b/test/files/pos/classtag-pos.scala
@@ -0,0 +1,5 @@
+import scala.reflect.runtime.universe._
+
+class A {
+ def f[T: TypeTag] = typeOf[T] match { case TypeRef(_, _, args) => args }
+}