summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-07-02 03:09:22 -0700
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-07-02 03:09:22 -0700
commitb0d70beb50e9d7946166f0218cf42bc1d9850754 (patch)
tree34c10b6d99e44a66a05a72f24d857fdb374c3ba5 /test
parentd14d8178fa39961951d7dd74a37994db86a13063 (diff)
parenta3315cdcf6ca2714e563eb813b645e267ba2ea5a (diff)
downloadscala-b0d70beb50e9d7946166f0218cf42bc1d9850754.tar.gz
scala-b0d70beb50e9d7946166f0218cf42bc1d9850754.tar.bz2
scala-b0d70beb50e9d7946166f0218cf42bc1d9850754.zip
Merge pull request #798 from retronym/ticket/2807-4
SI-2807 Avoid catch all warning for Stable Id patterns
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/catch-all.check12
-rw-r--r--test/files/neg/catch-all.scala30
2 files changed, 27 insertions, 15 deletions
diff --git a/test/files/neg/catch-all.check b/test/files/neg/catch-all.check
index ab3d28777d..62f895cc7e 100644
--- a/test/files/neg/catch-all.check
+++ b/test/files/neg/catch-all.check
@@ -1,10 +1,10 @@
catch-all.scala:2: error: This catches all Throwables. If this is really intended, use `case _ : Throwable` to clear this warning.
- try { "warn" } catch { case _ => }
- ^
+ try { "warn" } catch { case _ => }
+ ^
catch-all.scala:4: error: This catches all Throwables. If this is really intended, use `case x : Throwable` to clear this warning.
- try { "warn" } catch { case x => }
- ^
+ try { "warn" } catch { case x => }
+ ^
catch-all.scala:6: error: This catches all Throwables. If this is really intended, use `case x : Throwable` to clear this warning.
- try { "warn" } catch { case _: RuntimeException => ; case x => }
- ^
+ try { "warn" } catch { case _: RuntimeException => ; case x => }
+ ^
three errors found
diff --git a/test/files/neg/catch-all.scala b/test/files/neg/catch-all.scala
index 35a6d7af91..c05be77044 100644
--- a/test/files/neg/catch-all.scala
+++ b/test/files/neg/catch-all.scala
@@ -1,19 +1,31 @@
object CatchAll {
- try { "warn" } catch { case _ => }
+ try { "warn" } catch { case _ => }
- try { "warn" } catch { case x => }
+ try { "warn" } catch { case x => }
- try { "warn" } catch { case _: RuntimeException => ; case x => }
+ try { "warn" } catch { case _: RuntimeException => ; case x => }
- try { "okay" } catch { case _: Throwable => }
+ val t = T
- try { "okay" } catch { case _: Exception => }
+ try { "okay" } catch { case T => }
- try { "okay" } catch { case okay: Throwable => }
+ try { "okay" } catch { case `t` => }
- try { "okay" } catch { case okay: Exception => }
+ try { "okay" } catch { case x @ T => }
- try { "okay" } catch { case _ if "".isEmpty => }
+ try { "okay" } catch { case x @ `t` => }
- "okay" match { case _ => "" }
+ try { "okay" } catch { case _: Throwable => }
+
+ try { "okay" } catch { case _: Exception => }
+
+ try { "okay" } catch { case okay: Throwable => }
+
+ try { "okay" } catch { case okay: Exception => }
+
+ try { "okay" } catch { case _ if "".isEmpty => }
+
+ "okay" match { case _ => "" }
}
+
+object T extends Throwable