diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-06-14 12:51:24 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-06-14 12:51:24 +0200 |
commit | f9eb27daf750010556d49dd1411ac2433ac29f17 (patch) | |
tree | 6d6d46f72918c25c3d9357aabfe5e43a97d40d45 /src/main/scala/scala/async/internal/Lifter.scala | |
parent | f77d11962a3bf73c813a42a05e842ce710588c3f (diff) | |
download | scala-async-f9eb27daf750010556d49dd1411ac2433ac29f17.tar.gz scala-async-f9eb27daf750010556d49dd1411ac2433ac29f17.tar.bz2 scala-async-f9eb27daf750010556d49dd1411ac2433ac29f17.zip |
Avoid NotImplementedError awaiting a Future[Nothing]
`gen.mkZero(NothingTpe)` gives the tree `Predef.???`. Instead, we should leave
the `await` field uninitialized with `ValDef(..., rhs = EmptyTree)`.
Fixes #66
Diffstat (limited to 'src/main/scala/scala/async/internal/Lifter.scala')
-rw-r--r-- | src/main/scala/scala/async/internal/Lifter.scala | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/scala/scala/async/internal/Lifter.scala b/src/main/scala/scala/async/internal/Lifter.scala index 7b102d1..403eae9 100644 --- a/src/main/scala/scala/async/internal/Lifter.scala +++ b/src/main/scala/scala/async/internal/Lifter.scala @@ -113,8 +113,7 @@ trait Lifter { sym.setFlag(MUTABLE | STABLE | PRIVATE | LOCAL) sym.name = name.fresh(sym.name.toTermName) sym.modifyInfo(_.deconst) - val zeroRhs = atPos(t.pos)(gen.mkZero(vd.symbol.info)) - treeCopy.ValDef(vd, Modifiers(sym.flags), sym.name, TypeTree(sym.tpe).setPos(t.pos), zeroRhs) + treeCopy.ValDef(vd, Modifiers(sym.flags), sym.name, TypeTree(sym.tpe).setPos(t.pos), EmptyTree) case dd@DefDef(_, _, tparams, vparamss, tpt, rhs) => sym.name = this.name.fresh(sym.name.toTermName) sym.setFlag(PRIVATE | LOCAL) |