Evidence that F is almost like an IO monad, but not quite – because we also allow an impure izumi.fundamentals.platform.functional.Identity instance, for which maybeSuspend does not actually suspend!
If you use this interface and forget to add manual suspensions with by-name parameters everywhere, you're going to get weird behavior for Identity instance.
This interface serves internal needs of distage for interoperability with all existing Scala effect types and also with Identity, you should NOT refer to it in your code if possible.
This type is public because you may want to define your own instances, if a suitable instance of izumi.distage.modules.DefaultModule is missing for your custom effect type. For application logic, prefer writing against typeclasses in izumi.functional.bio or cats instead.
Attributes
- See also
-
izumi.distage.modules.DefaultModule -
DefaultModulemakes instances ofQuasiIOfor cats-effect, ZIO, monix, monix-bio,Identityand others available for summoning in your wiring automatically TODO: we want to get rid of this by providing Identity implementations for relevant BIO typeclasses See https://github.com/7mind/izumi/issues/787 - Companion
- object
- Graph
-
- Supertypes
-
trait QuasiPrimitives[F]trait QuasiApplicative[F]trait QuasiFunctor[F]class Objecttrait Matchableclass AnyShow all
Members list
Value members
Abstract methods
A stronger version of handleErrorWith (cats-effect) or catchAll (ZIO), the difference is that this will also intercept Throwable defects in ZIO, not only typed errors.
A stronger version of handleErrorWith (cats-effect) or catchAll (ZIO), the difference is that this will also intercept Throwable defects in ZIO, not only typed errors.
Attributes
- Note
-
This function is meant for RECOVERING errors, for REPORTING errors use definitelyRecoverWithTrace and include the full trace of the error in the report.
Like definitelyRecoverUnsafeIgnoreTrace, but the second parameter to the callback contains the effect's debugging information, possibly convertable to a Throwable via Exit.Trace#toThrowable, or that could be used to mutably enhance the left-hand-side Throwable value via Exit.Trace#unsafeAttachTrace
Like definitelyRecoverUnsafeIgnoreTrace, but the second parameter to the callback contains the effect's debugging information, possibly convertable to a Throwable via Exit.Trace#toThrowable, or that could be used to mutably enhance the left-hand-side Throwable value via Exit.Trace#unsafeAttachTrace
Attributes
- Note
-
Exit.Trace#unsafeAttachTrace may perform side-effects to the original Throwable argument on the left, the left throwable should be DISCARDED after calling the callback. (e.g. in case of
ZIO, the callback will mutate the throwable and attach a ZIO Trace to it.)
A weaker version of delay. Does not guarantee actual suspension of side-effects, because QuasiIO[Identity] is allowed
A weaker version of delay. Does not guarantee actual suspension of side-effects, because QuasiIO[Identity] is allowed
Attributes
Concrete methods
Attributes
- Definition Classes
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiApplicative
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiApplicative
Attributes
- Inherited from:
- QuasiApplicative
Attributes
- Inherited from:
- QuasiFunctor
Inherited and Abstract methods
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiFunctor
Attributes
- Inherited from:
- QuasiApplicative
Attributes
- Inherited from:
- QuasiApplicative
Attributes
- Inherited from:
- QuasiPrimitives
Attributes
- Inherited from:
- QuasiPrimitives
Inherited fields
Attributes
- Inherited from:
- QuasiApplicative