Packages

  • package root
    Definition Classes
    root
  • package izumi
    Definition Classes
    root
  • package functional
    Definition Classes
    izumi
  • package bio

    Current hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-relationship-hierarchy.svg, use https://www.nomnoml.com/ to render)

    Current hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-relationship-hierarchy.svg, use https://www.nomnoml.com/ to render)

    [Functor2]<--[Bifunctor2]
    [Bifunctor2]<--[ApplicativeError2]
    [Functor2]<--[Applicative2]
    [Applicative2]<--[Guarantee2]
    [Applicative2]<--[Monad2]
    [Guarantee2]<--[ApplicativeError2]
    [ApplicativeError2]<--[Error2]
    [Error2]<--[WeakTemporal2]
    [WeakTemporal2]<--[Temporal2]
    [Monad2]<--[Error2]
    [Error2]<--[Bracket2]
    [Bracket2]<--[Panic2]
    [Panic2]<--[IO2]
    [IO2]<--[WeakAsync2]
    [WeakAsync2]<--[Async2]
    
    [Monad2]<--[Parallel2]
    [Parallel2]<--[WeakAsync2]
    [Panic2]<--[Concurrent2]
    [Parallel2]<--[Concurrent2]

    Auxiliary algebras:

    [cats.effect.*]<:--[CatsConversions]
    
    [Fork2]<:--[Fiber2]
    
    [BlockingIO2]
    
    [Primitives2]
    
    [Primitives2]<:--[Ref2]
    [Primitives2]<:--[Semaphore2]
    [Primitives2]<:--[Promise2]
    
    [PrimitivesM2]
    [PrimitivesM2]<:--[RefM2]
    [PrimitivesM2]<:--[Mutex2]
    
    [Entropy1]<:--[Entropy2]
    [Clock1]<:--[Clock2]
    
    [UnsafeRun2]

    Raw inheritance hierarchy:

    [Bifunctor2]<--[ApplicativeError2]
    [Functor2]<--[Applicative2]
    [Applicative2]<--[Guarantee2]
    [Applicative2]<--[Monad2]
    [Guarantee2]<--[ApplicativeError2]
    [ApplicativeError2]<--[Error2]
    [Monad2]<--[Error2]
    [Error2]<--[Bracket2]
    [Bracket2]<--[Panic2]
    [Panic2]<--[IO2]
    
    [Parallel2]<--[WeakAsync2]
    [Parallel2]<--[Concurrent2]
    [Concurrent2]<--[Async2]
    [IO2]<--[WeakAsync2]
    [WeakAsync2]<--[Async2]
    
    [WeakTemporal2]<--[Temporal2]

    current hierarchy roots:

    bifunctor:

    standalone:

    Definition Classes
    functional
    Note

    New BIO typeclass checklist:

    [ ] - add syntax to `Syntax2` with the same name as the type
    [ ] - add syntax for new root's `InnerF` with the same name as `InnerF` in `Syntax2`
    [ ] - add new attachments in `RootInstanceLowPriority*`
    [ ] - add conversion from itself to its `InnerF` to `RootInstanceLowPriority*`
          (conversions implicit priority: from most specific `InnerF` to least specific)
    [ ] - add conversion to equivalent cats typeclass if applicable in `CatsConversions`
    [ ] - update hierarchy graph above, re-render SVG
    [ ] - add syntax tests in `SyntaxTest`, runtime tests if applicable
    ,

    Real and raw (direct inheritance) hierarchies differ because of implicit ambiguities caused by inheritance: https://typelevel.org/blog/2016/09/30/subtype-typeclasses.html However, since Scala 3.7, the ambiguity problem has been resolved on Scala 3 using inverted given prioritization: https://contributors.scala-lang.org/t/joining-the-dots-on-recent-implicit-prioritization-changes-and-some-scala-history/6814/3 So, when or if we drop support for Scala 2, we can revisit the design, remove InnerF pattern and make real and raw hierarchy match.

  • object Exit
    Definition Classes
    bio
  • CatsExit
  • Error
  • Failure
  • FailureUninterrupted
  • Interruption
  • Success
  • Termination
  • Trace
  • Uninterrupted
  • ZIOExit

final case class Termination(compoundException: Throwable, allExceptions: NEList[Throwable], trace: Trace[Nothing]) extends FailureUninterrupted[Nothing] with Product with Serializable

Linear Supertypes
Serializable, Product, Equals, FailureUninterrupted[Nothing], Uninterrupted[Nothing, Nothing], Failure[Nothing], Exit[Nothing, Nothing], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Termination
  2. Serializable
  3. Product
  4. Equals
  5. FailureUninterrupted
  6. Uninterrupted
  7. Failure
  8. Exit
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Termination(compoundException: Throwable, allExceptions: NEList[Throwable], trace: Trace[Nothing])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val allExceptions: NEList[Throwable]
  5. final def asFailure: Some[FailureUninterrupted[Nothing]]
    Definition Classes
    FailureUninterruptedUninterruptedFailureExit
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. final def asSuccess: None.type
    Definition Classes
    FailureExit
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. val compoundException: Throwable
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def flatMap[E1 >: Nothing, B](f: (Nothing) => Exit[E1, B]): Termination.this.type
    Definition Classes
    FailureExit
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isFailure: Boolean
    Definition Classes
    FailureExit
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def isInterrupted: Boolean
    Definition Classes
    UninterruptedExit
  17. final def isSuccess: Boolean
    Definition Classes
    FailureExit
  18. final def isUninterrupted: Boolean
    Definition Classes
    UninterruptedExit
  19. def leftMap[E1](f: (Nothing) => E1): Termination.this.type
    Definition Classes
    TerminationExit
  20. final def map[B](f: (Nothing) => B): Termination.this.type
    Definition Classes
    FailureExit
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. def productElementNames: Iterator[String]
    Definition Classes
    Product
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toEither: Left[List[Throwable], Nothing]
    Definition Classes
    TerminationFailure
  27. def toEitherCompound: Left[Throwable, Nothing]
    Definition Classes
    TerminationFailure
  28. final def toThrowable(conv: (Nothing) => Throwable): Throwable
    Definition Classes
    Failure
  29. final def toThrowable(implicit ev: <:<[Nothing, Throwable]): Throwable
    Definition Classes
    Failure
  30. def toThrowableEither(implicit ev: <:<[Nothing, Throwable]): Either[Throwable, Nothing]
    Definition Classes
    TerminationExit
  31. def toTry(implicit ev: <:<[Nothing, Throwable]): Try[Nothing]
    Definition Classes
    TerminationExit
  32. val trace: Trace[Nothing]
    Definition Classes
    TerminationFailure
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from FailureUninterrupted[Nothing]

Inherited from Uninterrupted[Nothing, Nothing]

Inherited from Failure[Nothing]

Inherited from Exit[Nothing, Nothing]

Inherited from AnyRef

Inherited from Any

Ungrouped