A macro for local elimination (ZIO[A with B with C, ...] => C => ZIO[A with B])
Closed this issue · 2 comments
iravid commented
Please write it :-)
iravid commented
To clarify, I'd love if the verbosity of the following could be reduced:
val mysqlXA: Transactor
val io: ZIO[Clock with Blocking with Transactor, Throwable, Unit]
val io2: ZIO[Clock with Blocking, Throwable, Unit] =
io.provideSome { r0: Clock with Blocking =>
new Clock with Blocking with TransactorModule {
override val blocking: Blocking.Service[Any] = r0.blocking
override val clock: Clock.Service[Any] = r0.clock
override val xa: transactor.Transactor[Task] = mysqlXA
}
}
joroKr21 commented
Doesn't Mix
already give you what you need here.