aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/internal/TransformUtils.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/scala/async/internal/TransformUtils.scala')
-rw-r--r--src/main/scala/scala/async/internal/TransformUtils.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/internal/TransformUtils.scala b/src/main/scala/scala/async/internal/TransformUtils.scala
index e3a1206..c86540b 100644
--- a/src/main/scala/scala/async/internal/TransformUtils.scala
+++ b/src/main/scala/scala/async/internal/TransformUtils.scala
@@ -480,6 +480,14 @@ private[async] trait TransformUtils {
typingTransform(t, owner) {
(tree, api) =>
tree match {
+ case LabelDef(name, params, rhs) =>
+ val rhs1 = api.recur(rhs)
+ if (rhs1.tpe =:= UnitTpe) {
+ internal.setInfo(tree.symbol, internal.methodType(tree.symbol.info.paramLists.head, UnitTpe))
+ treeCopy.LabelDef(tree, name, params, rhs1)
+ } else {
+ treeCopy.LabelDef(tree, name, params, rhs1)
+ }
case Block(stats, expr) =>
val stats1 = stats map api.recur
val expr1 = api.recur(expr)