diff options
Diffstat (limited to 'src/main/scala/scala/async/continuations/ScalaConcurrentCPSFallback.scala')
-rw-r--r-- | src/main/scala/scala/async/continuations/ScalaConcurrentCPSFallback.scala | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/main/scala/scala/async/continuations/ScalaConcurrentCPSFallback.scala b/src/main/scala/scala/async/continuations/ScalaConcurrentCPSFallback.scala deleted file mode 100644 index f864ad6..0000000 --- a/src/main/scala/scala/async/continuations/ScalaConcurrentCPSFallback.scala +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2012 Typesafe Inc. <http://www.typesafe.com> - */ - -package scala.async -package continuations - -import scala.util.continuations._ -import scala.concurrent.{Future, Promise, ExecutionContext} -import scala.async.internal.ScalaConcurrentFutureSystem - -trait ScalaConcurrentCPSFallback { - self: AsyncBaseWithCPSFallback => - - import ExecutionContext.Implicits.global - - lazy val futureSystem = ScalaConcurrentFutureSystem - type FS = ScalaConcurrentFutureSystem.type - - /* Fall-back for `await` when it is called at an unsupported position. - */ - override def awaitFallback[T](awaitable: futureSystem.Fut[T]): T @cps[Future[Any]] = - shift { - (k: (T => Future[Any])) => - val fr = Promise[Any]() - awaitable onComplete { - case tr => fr completeWith k(tr.get) - } - fr.future - } - -} |