zio/zio-macros

Create environment agnostic versions of ZSchedule#*Env methods

Closed this issue · 0 comments

Should be possible to do with patch. Something like:

  implicit class ZScheduleSyntax[R, A, B](sched: ZSchedule[R, A, B]) {
    def jittered0[R1 <: R with Clock](min: Double, max: Double)(implicit ev: R1 Mix Clock) =
      sched.jitteredEnv(min, max)(f => patch[R1, Clock].apply(c => new Clock { val clock = f(c.clock) }))
  }

/cc @iravid