aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/internal/ExprBuilder.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/scala/async/internal/ExprBuilder.scala')
-rw-r--r--src/main/scala/scala/async/internal/ExprBuilder.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/scala/async/internal/ExprBuilder.scala b/src/main/scala/scala/async/internal/ExprBuilder.scala
index d107ed8..ae20642 100644
--- a/src/main/scala/scala/async/internal/ExprBuilder.scala
+++ b/src/main/scala/scala/async/internal/ExprBuilder.scala
@@ -34,7 +34,12 @@ trait ExprBuilder {
var stats: List[Tree]
def statsAnd(trees: List[Tree]): List[Tree] = {
- val body = adaptToUnit(stats)
+ val body = stats match {
+ case init :+ last if tpeOf(last) =:= definitions.NothingTpe =>
+ adaptToUnit(init :+ Typed(last, TypeTree(definitions.AnyTpe)))
+ case _ =>
+ adaptToUnit(stats)
+ }
Try(body, Nil, adaptToUnit(trees)) :: Nil
}