diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-07-29 19:36:36 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-07-29 19:36:36 +1000 |
commit | 4b1dbeef9ec73612867afc5dd9c925faa8cbc30d (patch) | |
tree | 72cee6f538efa06569647c9b309483b8f911e97a /src/test/scala/scala/async | |
parent | 6d44255964092b672accd7784ddc712d30f1d7c4 (diff) | |
download | scala-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/scala/scala/async')
-rw-r--r-- | src/test/scala/scala/async/run/WarningsSpec.scala | 19 |
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 = """ |