Packages

package bio

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:

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.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. bio
  2. Syntax2
  3. ImplicitPuns
  4. ImplicitPunsTemporal
  5. ImplicitPunsWeakTemporal
  6. ImplicitPunsFork
  7. ImplicitPunsAsync
  8. ImplicitPunsWeakAsync
  9. ImplicitPunsConcurrent
  10. ImplicitPunsParallelErrorAccumulatingOps
  11. ImplicitPunsParallel
  12. ImplicitPunsIO
  13. ImplicitPunsPanic
  14. ImplicitPunsBracket
  15. ImplicitPunsError
  16. ImplicitPunsApplicativeError
  17. ImplicitPunsGuarantee
  18. ImplicitPunsMonad
  19. ImplicitPunsApplicative
  20. ImplicitPunsBifunctor
  21. ImplicitPunsFunctor
  22. AnyRef
  23. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package data
  2. package impl
  3. package retry
  4. package syntax
  5. package unsafe

Type Members

  1. trait Applicative2[F[+_, +_]] extends Functor2[F]
  2. trait ApplicativeError2[F[+_, +_]] extends Guarantee2[F] with Bifunctor2[F]
  3. trait Async2[F[+_, +_]] extends Concurrent2[F] with WeakAsync2[F]
  4. trait Bifunctor2[F[+_, +_]] extends RootBifunctor[F]
  5. trait BlockingIO2[F[+_, +_]] extends BlockingIOInstances with DivergenceHelper with PredefinedHelper
  6. sealed trait BlockingIOInstancesLowPriority extends AnyRef
  7. trait Bracket2[F[+_, +_]] extends Error2[F]
  8. trait CatsConversions extends CatsConversions1

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    import izumi.functional.bio.IO2
    import izumi.functional.bio.catz.*
    import cats.effect.kernel.Sync
    
    def divideByZero[F[+_, +_]: IO2]: F[Throwable, Int] = {
      Sync[F[Throwable, _]].delay(10 / 0)
    }
  9. trait CatsConversions1 extends CatsConversions2
  10. trait CatsConversions10 extends CatsConversions11
  11. trait CatsConversions11 extends AnyRef
  12. trait CatsConversions2 extends CatsConversions3
  13. trait CatsConversions3 extends CatsConversions4
  14. trait CatsConversions4 extends CatsConversions5
  15. trait CatsConversions5 extends CatsConversions6
  16. trait CatsConversions6 extends CatsConversions60
  17. trait CatsConversions60 extends CatsConversions7
  18. trait CatsConversions7 extends CatsConversions8
  19. trait CatsConversions8 extends CatsConversions9
  20. trait CatsConversions9 extends CatsConversions10
  21. trait Clock1[F[_]] extends DivergenceHelper
  22. type Clock2[F[_, _]] = Clock1[[β$4$]F[Nothing, β$4$]]
  23. type Clock3[F[_, _, _]] = Clock1[[γ$5$]F[Any, Nothing, γ$5$]]
  24. trait Concurrent2[F[+_, +_]] extends Parallel2[F] with ParallelErrorAccumulatingOps2[F]
  25. trait DivergenceHelper extends AnyRef
  26. trait Entropy1[F[_]] extends DivergenceHelper
  27. type Entropy2[F[_, _]] = Entropy1[[β$6$]F[Nothing, β$6$]]
  28. type Entropy3[F[_, _, _]] = Entropy1[[γ$7$]F[Any, Nothing, γ$7$]]
  29. trait Error2[F[+_, +_]] extends ApplicativeError2[F] with Monad2[F] with ErrorAccumulatingOps2[F]
  30. trait ErrorAccumulatingOps2[F[+_, +_]] extends AnyRef
  31. sealed trait Exit[+E, +A] extends AnyRef
  32. trait Fiber2[+F[+_, +_], +E, +A] extends AnyRef
  33. trait FiberLocal2[F[_, _], A] extends AnyRef
  34. trait FiberRef2[F[_, _], A] extends FiberLocal2[F, A]
  35. trait Fork2[F[+_, +_]] extends RootBifunctor[F] with ForkInstances
  36. trait Functor2[F[+_, +_]] extends RootBifunctor[F]
  37. trait Guarantee2[F[+_, +_]] extends Applicative2[F]
  38. trait IO2[F[+_, +_]] extends Panic2[F]
  39. type Latch2[+F[+_, +_]] = Promise2[F, Nothing, Unit]
  40. sealed trait LowPriorityClockInstances extends AnyRef
  41. sealed trait LowPriorityEntropyInstances extends AnyRef
  42. sealed trait LowPriorityForkInstances extends AnyRef
  43. trait LowPrioritySyncSafeInstances0 extends LowPrioritySyncSafeInstances1
  44. trait LowPrioritySyncSafeInstances1 extends AnyRef
  45. trait Monad2[F[+_, +_]] extends Applicative2[F]
  46. trait Mutex2[F[+_, +_]] extends AnyRef
  47. trait Panic2[F[+_, +_]] extends Bracket2[F] with PanicSyntax
  48. trait Parallel2[F[+_, +_]] extends RootBifunctor[F]
  49. trait ParallelErrorAccumulatingOps2[F[+_, +_]] extends Parallel2[F]
  50. trait PredefinedHelper extends AnyRef
  51. trait Primitives2[F[+_, +_]] extends PrimitivesInstances
  52. sealed trait PrimitivesInstancesLowPriority extends AnyRef
  53. trait PrimitivesLocal2[F[+_, +_]] extends PrimitivesLocalInstances
  54. sealed trait PrimitivesLocalInstancesLowPriority extends AnyRef
  55. trait PrimitivesM2[F[+_, +_]] extends PrimitivesMInstances
  56. sealed trait PrimitivesMLowPriorityInstances1 extends PrimitivesMLowPriorityInstances2
  57. sealed trait PrimitivesMLowPriorityInstances2 extends AnyRef
  58. trait Promise2[+F[+_, +_], E, A] extends AnyRef
  59. trait Ref1[+F[_], A] extends AnyRef
  60. type Ref2[+F[_, _], A] = Ref1[[β$0$]F[Nothing, β$0$], A]
  61. trait RefM2[F[+_, +_], A] extends AnyRef
  62. trait Root extends DivergenceHelper with PredefinedHelper
  63. trait RootBifunctor[F[+_, +_]] extends Root
  64. sealed trait RootInstancesLowPriority1 extends RootInstancesLowPriority2
  65. sealed trait RootInstancesLowPriority10 extends AnyRef
  66. sealed trait RootInstancesLowPriority2 extends RootInstancesLowPriority3
  67. sealed trait RootInstancesLowPriority3 extends RootInstancesLowPriority4
  68. sealed trait RootInstancesLowPriority4 extends RootInstancesLowPriority5
  69. sealed trait RootInstancesLowPriority5 extends RootInstancesLowPriority6
  70. sealed trait RootInstancesLowPriority6 extends RootInstancesLowPriority7
  71. sealed trait RootInstancesLowPriority7 extends RootInstancesLowPriority8
  72. sealed trait RootInstancesLowPriority8 extends RootInstancesLowPriority9
  73. sealed trait RootInstancesLowPriority9 extends RootInstancesLowPriority10
  74. trait Semaphore1[+F[_]] extends AnyRef
  75. type Semaphore2[+F[_, _]] = Semaphore1[[β$1$]F[Nothing, β$1$]]
  76. trait SyncSafe1[F[_]] extends DivergenceHelper

    Import _exception-safe_ side effects

  77. type SyncSafe2[F[_, _]] = SyncSafe1[[β$2$]F[Nothing, β$2$]]
  78. type SyncSafe3[F[_, _, _]] = SyncSafe1[[γ$3$]F[Any, Nothing, γ$3$]]
  79. trait Temporal2[F[+_, +_]] extends WeakTemporal2[F]
  80. sealed trait TemporalInstancesLowPriority1 extends AnyRef
  81. type TransZio[F[_, _]] = Isomorphism3[[R, E, A]F[E, A], [R, E, A]IO[E, A]]
  82. final case class TypedError[+A](prefixMessage: String, error: A) extends RuntimeException with Product with Serializable
  83. trait UnsafeRun2[F[_, _]] extends AnyRef
  84. trait WeakAsync2[F[+_, +_]] extends IO2[F] with Parallel2[F]

    Parallel operations combined with basic async capabilities.

    Parallel operations combined with basic async capabilities.

    This typeclass provides parallel execution (Parallel2) along with the ability to integrate asynchronous callback-based APIs and Scala Futures, but without requiring the full error handling hierarchy of IO2 and Panic2.

    See also

    Async2 for full async capabilities including cancelation and execution context control

  85. trait WeakTemporal2[F[+_, +_]] extends RootBifunctor[F] with TemporalInstances
  86. trait WithFilter[+E] extends AnyRef
  87. sealed trait WithFilterInstances1 extends WithFilterInstances2
  88. sealed trait WithFilterInstances2 extends WithFilterInstances3
  89. sealed trait WithFilterInstances3 extends AnyRef

Value Members

  1. final def Applicative2[F[+_, +_]](implicit arg0: Applicative2[F]): Applicative2[F]
    Definition Classes
    ImplicitPunsApplicative
    Annotations
    @inline()
  2. implicit final def Applicative2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Applicative2[F]): ApplicativeOps[F, E, A]
    Definition Classes
    ImplicitPunsApplicative
    Annotations
    @inline()
  3. final def ApplicativeError2[F[+_, +_]](implicit arg0: ApplicativeError2[F]): ApplicativeError2[F]
    Definition Classes
    ImplicitPunsApplicativeError
    Annotations
    @inline()
  4. implicit final def ApplicativeError2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: ApplicativeError2[F]): ApplicativeErrorOps[F, E, A]
    Definition Classes
    ImplicitPunsApplicativeError
    Annotations
    @inline()
  5. final def Async2[F[+_, +_]](implicit arg0: Async2[F]): Async2[F]
    Definition Classes
    ImplicitPunsAsync
    Annotations
    @inline()
  6. implicit final def Async2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Async2[F]): AsyncOps[F, E, A]
    Definition Classes
    ImplicitPunsAsync
    Annotations
    @inline()
  7. final def Bifunctor2[F[+_, +_]](implicit arg0: Bifunctor2[F]): Bifunctor2[F]
    Definition Classes
    ImplicitPunsBifunctor
    Annotations
    @inline()
  8. implicit final def Bifunctor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Functor2[F]): FunctorOps[F, E, A]
    Definition Classes
    ImplicitPunsBifunctor
    Annotations
    @inline()
  9. implicit final def Bifunctor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Bifunctor2[F]): BifunctorOps[F, E, A]
    Definition Classes
    ImplicitPunsBifunctor
    Annotations
    @inline()
  10. final def Bracket2[F[+_, +_]](implicit arg0: Bracket2[F]): Bracket2[F]
    Definition Classes
    ImplicitPunsBracket
    Annotations
    @inline()
  11. implicit final def Bracket2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Bracket2[F]): BracketOps[F, E, A]
    Definition Classes
    ImplicitPunsBracket
    Annotations
    @inline()
  12. final def Concurrent2[F[+_, +_]](implicit arg0: Concurrent2[F]): Concurrent2[F]
    Definition Classes
    ImplicitPunsConcurrent
    Annotations
    @inline()
  13. implicit final def Concurrent2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Panic2[F]): PanicOps[F, E, A]
    Definition Classes
    ImplicitPunsConcurrent
    Annotations
    @inline()
  14. implicit final def Concurrent2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Concurrent2[F]): ConcurrentOps[F, E, A]
    Definition Classes
    ImplicitPunsConcurrent
    Annotations
    @inline()
  15. final def Error2[F[+_, +_]](implicit arg0: Error2[F]): Error2[F]
    Definition Classes
    ImplicitPunsError
    Annotations
    @inline()
  16. implicit final def Error2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Error2[F]): ErrorOps[F, E, A]
    Definition Classes
    ImplicitPunsError
    Annotations
    @inline()
  17. def F[F[+_, +_]](implicit F: Functor2[F]): bio.syntax.Syntax2.F.F.type

    A convenient dependent-typed summoner for BIO hierarchy.

    A convenient dependent-typed summoner for BIO hierarchy. Auto-narrows to the most powerful available type class:

    import izumi.functional.bio.{F, Temporal2}
    
    def y[F[+_, +_]: Temporal2] = {
      F.timeout(5.seconds)(F.forever(F.unit))
    }
    Definition Classes
    Syntax2
  18. final def Fork2[F[+_, +_]](implicit arg0: Fork2[F]): Fork2[F]
    Definition Classes
    ImplicitPunsFork
    Annotations
    @inline()
  19. implicit final def Fork2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Fork2[F]): ForkOps[F, E, A]
    Definition Classes
    ImplicitPunsFork
    Annotations
    @inline()
  20. final def Functor2[F[+_, +_]](implicit arg0: Functor2[F]): Functor2[F]
    Definition Classes
    ImplicitPunsFunctor
    Annotations
    @inline()
  21. implicit final def Functor2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Functor2[F]): FunctorOps[F, E, A]
    Definition Classes
    ImplicitPunsFunctor
    Annotations
    @inline()
  22. final def Guarantee2[F[+_, +_]](implicit arg0: Guarantee2[F]): Guarantee2[F]
    Definition Classes
    ImplicitPunsGuarantee
    Annotations
    @inline()
  23. implicit final def Guarantee2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Guarantee2[F]): GuaranteeOps[F, E, A]
    Definition Classes
    ImplicitPunsGuarantee
    Annotations
    @inline()
  24. final def IO2[F[+_, +_]](implicit arg0: IO2[F]): IO2[F]
    Definition Classes
    ImplicitPunsIO
    Annotations
    @inline()
  25. final def IO2[F[+_, +_], A](effect: => A)(implicit F: IO2[F]): F[Throwable, A]

    Shorthand for IO2#syncThrowable

    Shorthand for IO2#syncThrowable

    IO2(println("Hello world!"))
    Definition Classes
    ImplicitPunsIO
    Annotations
    @inline()
  26. implicit final def IO2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: IO2[F]): IOOps[F, E, A]
    Definition Classes
    ImplicitPunsIO
    Annotations
    @inline()
  27. lazy val Latch2: Promise2.type
  28. final def Monad2[F[+_, +_]](implicit arg0: Monad2[F]): Monad2[F]
    Definition Classes
    ImplicitPunsMonad
    Annotations
    @inline()
  29. implicit final def Monad2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Monad2[F]): MonadOps[F, E, A]
    Definition Classes
    ImplicitPunsMonad
    Annotations
    @inline()
  30. final def Panic2[F[+_, +_]](implicit arg0: Panic2[F]): Panic2[F]
    Definition Classes
    ImplicitPunsPanic
    Annotations
    @inline()
  31. implicit final def Panic2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Panic2[F]): PanicOps[F, E, A]
    Definition Classes
    ImplicitPunsPanic
    Annotations
    @inline()
  32. final def Parallel2[F[+_, +_]](implicit arg0: Parallel2[F]): Parallel2[F]
    Definition Classes
    ImplicitPunsParallel
    Annotations
    @inline()
  33. implicit final def Parallel2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Monad2[F]): MonadOps[F, E, A]
    Definition Classes
    ImplicitPunsParallel
    Annotations
    @inline()
  34. implicit final def Parallel2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Parallel2[F]): ParallelOps[F, E, A]
    Definition Classes
    ImplicitPunsParallel
    Annotations
    @inline()
  35. final def ParallelErrorAccumulatingOps2[F[+_, +_]](implicit arg0: ParallelErrorAccumulatingOps2[F]): ParallelErrorAccumulatingOps2[F]
    Definition Classes
    ImplicitPunsParallelErrorAccumulatingOps
    Annotations
    @inline()
  36. implicit final def ParallelErrorAccumulatingOps2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Monad2[F]): MonadOps[F, E, A]
    Definition Classes
    ImplicitPunsParallelErrorAccumulatingOps
    Annotations
    @inline()
  37. implicit final def ParallelErrorAccumulatingOps2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: ParallelErrorAccumulatingOps2[F]): ParallelOps[F, E, A]
    Definition Classes
    ImplicitPunsParallelErrorAccumulatingOps
    Annotations
    @inline()
  38. lazy val Ref2: Ref1.type
  39. lazy val Semaphore2: Semaphore1.type
  40. final def Temporal2[F[+_, +_]](implicit arg0: Temporal2[F]): Temporal2[F]
    Definition Classes
    ImplicitPunsTemporal
    Annotations
    @inline()
  41. implicit final def Temporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Error2[F]): ErrorOps[F, E, A]
    Definition Classes
    ImplicitPunsTemporal
    Annotations
    @inline()
  42. implicit final def Temporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Temporal2[F]): TemporalOps[F, E, A]
    Definition Classes
    ImplicitPunsTemporal
    Annotations
    @inline()
  43. final def WeakAsync2[F[+_, +_]](implicit arg0: WeakAsync2[F]): WeakAsync2[F]
    Definition Classes
    ImplicitPunsWeakAsync
    Annotations
    @inline()
  44. implicit final def WeakAsync2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: WeakAsync2[F]): WeakAsyncOps[F, E, A]
    Definition Classes
    ImplicitPunsWeakAsync
    Annotations
    @inline()
  45. final def WeakTemporal2[F[+_, +_]](implicit arg0: WeakTemporal2[F]): WeakTemporal2[F]
    Definition Classes
    ImplicitPunsWeakTemporal
    Annotations
    @inline()
  46. implicit final def WeakTemporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: Error2[F]): ErrorOps[F, E, A]
    Definition Classes
    ImplicitPunsWeakTemporal
    Annotations
    @inline()
  47. implicit final def WeakTemporal2[F[+_, +_], E, A](self: F[E, A])(implicit arg0: WeakTemporal2[F]): WeakTemporalOps[F, E, A]
    Definition Classes
    ImplicitPunsWeakTemporal
    Annotations
    @inline()
  48. object BlockingIO2
  49. object BlockingIOInstances extends BlockingIOInstancesLowPriority
  50. object CatsConversions
  51. object Clock1 extends LowPriorityClockInstances
  52. object Clock2
  53. object Clock3
  54. object DivergenceHelper
  55. object Entropy1 extends LowPriorityEntropyInstances
  56. object Entropy2
  57. object Entropy3
  58. object Exit
  59. object Fiber2
  60. object FiberRef2
  61. object ForkInstances extends LowPriorityForkInstances
  62. object Mutex2
  63. object PanicSyntax
  64. object PredefinedHelper
  65. object Primitives2
  66. object PrimitivesInstances extends PrimitivesInstancesLowPriority
  67. object PrimitivesLocal2
  68. object PrimitivesLocalInstances extends PrimitivesLocalInstancesLowPriority
  69. object PrimitivesM2
  70. object PrimitivesMInstances extends PrimitivesMLowPriorityInstances1
  71. object Promise2
  72. object Ref1
  73. object RefM2
  74. object Root extends RootInstancesLowPriority1
  75. object Semaphore1
  76. object SyncSafe1 extends LowPrioritySyncSafeInstances0
  77. object SyncSafe2
  78. object SyncSafe3
  79. object TemporalInstances extends TemporalInstancesLowPriority1
  80. object TransZio
  81. object TypedError extends Serializable
  82. object UnsafeRun2
  83. object WithFilter extends WithFilterInstances1
  84. object catz extends CatsConversions

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    Automatic converters from BIO* hierarchy to equivalent cats & cats-effect classes.

    import izumi.functional.bio.IO2
    import izumi.functional.bio.catz.*
    import cats.effect.Sync
    
    def divideByZero[F[+_, +_]: IO2]: F[Throwable, Int] = {
      Sync[F[Throwable, _]].delay(10 / 0)
    }

Inherited from Syntax2

Inherited from ImplicitPuns

Inherited from ImplicitPunsTemporal

Inherited from ImplicitPunsFork

Inherited from ImplicitPunsAsync

Inherited from ImplicitPunsWeakAsync

Inherited from ImplicitPunsConcurrent

Inherited from ImplicitPunsParallel

Inherited from ImplicitPunsIO

Inherited from ImplicitPunsPanic

Inherited from ImplicitPunsBracket

Inherited from ImplicitPunsError

Inherited from ImplicitPunsGuarantee

Inherited from ImplicitPunsMonad

Inherited from ImplicitPunsBifunctor

Inherited from ImplicitPunsFunctor

Inherited from AnyRef

Inherited from Any

Ungrouped