diff options
Diffstat (limited to 'src/main/scala/scala/async/continuations/CPSBasedAsync.scala')
-rw-r--r-- | src/main/scala/scala/async/continuations/CPSBasedAsync.scala | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/scala/scala/async/continuations/CPSBasedAsync.scala b/src/main/scala/scala/async/continuations/CPSBasedAsync.scala index 922d1ac..2003082 100644 --- a/src/main/scala/scala/async/continuations/CPSBasedAsync.scala +++ b/src/main/scala/scala/async/continuations/CPSBasedAsync.scala @@ -8,14 +8,17 @@ package continuations import scala.language.experimental.macros import scala.reflect.macros.Context -import scala.concurrent.Future +import scala.concurrent.{ExecutionContext, Future} trait CPSBasedAsync extends CPSBasedAsyncBase with ScalaConcurrentCPSFallback object CPSBasedAsync extends CPSBasedAsync { - def async[T](body: T) = macro asyncImpl[T] - - override def asyncImpl[T: c.WeakTypeTag](c: Context)(body: c.Expr[T]): c.Expr[Future[T]] = super.asyncImpl[T](c)(body) + def async[T](body: T)(implicit execContext: ExecutionContext): Future[T] = macro asyncImpl[T] + override def asyncImpl[T: c.WeakTypeTag](c: Context) + (body: c.Expr[T]) + (execContext: c.Expr[ExecutionContext]): c.Expr[Future[T]] = { + super.asyncImpl[T](c)(body)(execContext) + } } |