sealed abstract class FutureUnlessShutdownImpl extends AnyRef

Monad combination of Future and UnlessShutdown

We avoid wrapping and unwrapping it by emulating Scala 3's opaque types. This makes the asynchronous detection magic work out of the box for FutureUnlessShutdown because FutureUnlessShutdown(x).isInstanceOf[Future] holds at runtime.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FutureUnlessShutdownImpl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type FutureUnlessShutdown[+A] <: Awaitable[UnlessShutdown[A]]

    The abstract type of a scala.concurrent.Future containing a UnlessShutdown.

    The abstract type of a scala.concurrent.Future containing a UnlessShutdown. We can't make it a subtype of scala.concurrent.Future[UnlessShutdown] itself because we want to change the signature and implementation of some methods like scala.concurrent.Future.flatMap. So FutureUnlessShutdown up-casts only into an scala.concurrent.Awaitable.

    The canonical name for this type would be T, but FutureUnlessShutdown gives better error messages.

    Annotations
    @DoNotDiscardLikeFuture() @DoNotTraverseLikeFuture()