@implicitNotFound("\nCould not find `FromEffect` for effect ${F} and environment ${R}. `FromEffect` can be one of the following:\n\n1) Non-contextual: derived automatically when `cats.effect.std.Dispatcher` is available in the implicit scope. A way to go for non-contextual effects (e.g. `cats.effect.IO`):\n\nimplicit val dispatcher: Dispatcher[${F}] = ???\n\nval fromEffect: FromEffect[${F}, ${R}] = implicitly // or an explicit call `FromEffect.forDispatcher`\n\n2) Contextual: injects ZIO environment into underlying effect. Can be used to share a context between ZIO and Kleisli-like effects:\n\ncase class Context(isAdmin: Boolean)\ntype Effect[A] = Kleisli[IO, Context, A]\n\nval dispatcher: Dispatcher[Effect] = ???\n\nimplicit val injectContext: InjectEnv[Effect, Context] = InjectEnv.kleisli\nimplicit val fromEffect: FromEffect[Effect, Context] = FromEffect.contextual(dispatcher)\n\n")
Describes how zio.RIO can be created from a polymorphic effect F
.
- Type parameters:
- F
the higher-kinded type of a polymorphic effect
- R
the type of ZIO environment
- Companion:
- object
class Object
trait Matchable
class Any