aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-07-29 19:36:36 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-07-29 19:36:36 +1000
commit4b1dbeef9ec73612867afc5dd9c925faa8cbc30d (patch)
tree72cee6f538efa06569647c9b309483b8f911e97a /src/test
parent6d44255964092b672accd7784ddc712d30f1d7c4 (diff)
downloadscala-async-4b1dbeef9ec73612867afc5dd9c925faa8cbc30d.tar.gz
scala-async-4b1dbeef9ec73612867afc5dd9c925faa8cbc30d.tar.bz2
scala-async-4b1dbeef9ec73612867afc5dd9c925faa8cbc30d.zip
Avoid dead code warning with async(throw T)
By declararing the parameter of `async` as by-name. Fixes #150 (the bug in the original ticket.)
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/scala/async/run/WarningsSpec.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/run/WarningsSpec.scala b/src/test/scala/scala/async/run/WarningsSpec.scala
index f0b414a..3b16899 100644
--- a/src/test/scala/scala/async/run/WarningsSpec.scala
+++ b/src/test/scala/scala/async/run/WarningsSpec.scala
@@ -32,6 +32,25 @@ class WarningsSpec {
}
@Test
+ // https://github.com/scala/async/issues/74
+ def noDeadCodeWarningForAsyncThrow() {
+ val global = mkGlobal("-cp ${toolboxClasspath} -Yrangepos -Ywarn-dead-code -Xfatal-warnings")
+ // was: "a pure expression does nothing in statement position; you may be omitting necessary parentheses"
+ val source =
+ """
+ | class Test {
+ | import scala.async.Async._
+ | import scala.concurrent.ExecutionContext.Implicits.global
+ | async { throw new Error() }
+ | }
+ """.stripMargin
+ val run = new global.Run
+ val sourceFile = global.newSourceFile(source)
+ run.compileSources(sourceFile :: Nil)
+ assert(!global.reporter.hasErrors, global.reporter.asInstanceOf[StoreReporter].infos)
+ }
+
+ @Test
def noDeadCodeWarning() {
val global = mkGlobal("-cp ${toolboxClasspath} -Yrangepos -Ywarn-dead-code -Xfatal-warnings")
val source = """