diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-07-24 21:56:25 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-07-24 21:56:25 +1000 |
commit | 3bdb1d69a5c24443726ec7e610fef18ba7d34297 (patch) | |
tree | 1df9624f107d21f711bde6d8386ff441f8dc9669 /src/main/scala/scala/async/internal/AsyncId.scala | |
parent | c78081090ef2fddcb013c908b3a986d2769a9fe2 (diff) | |
download | scala-async-3bdb1d69a5c24443726ec7e610fef18ba7d34297.tar.gz scala-async-3bdb1d69a5c24443726ec7e610fef18ba7d34297.tar.bz2 scala-async-3bdb1d69a5c24443726ec7e610fef18ba7d34297.zip |
Support await in throws.
Also support AsyncId.async[Nothing], which was triggering a NPE
in the generated `null.asInstanceOf[Nothing]`.
Diffstat (limited to 'src/main/scala/scala/async/internal/AsyncId.scala')
-rw-r--r-- | src/main/scala/scala/async/internal/AsyncId.scala | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/scala/scala/async/internal/AsyncId.scala b/src/main/scala/scala/async/internal/AsyncId.scala index 394f587..4334088 100644 --- a/src/main/scala/scala/async/internal/AsyncId.scala +++ b/src/main/scala/scala/async/internal/AsyncId.scala @@ -23,7 +23,9 @@ object AsyncId extends AsyncBase { */ object IdentityFutureSystem extends FutureSystem { - class Prom[A](var a: A) + class Prom[A] { + var a: A = _ + } type Fut[A] = A type ExecContext = Unit @@ -39,7 +41,7 @@ object IdentityFutureSystem extends FutureSystem { def execContextType: Type = weakTypeOf[Unit] def createProm[A: WeakTypeTag]: Expr[Prom[A]] = reify { - new Prom(null.asInstanceOf[A]) + new Prom() } def promiseToFuture[A: WeakTypeTag](prom: Expr[Prom[A]]) = reify { |