@@ -52,12 +52,13 @@ trait ReadChannel[F[_], A]:
52
52
* Can be used only inside async block.
53
53
* If stream is closed and no values to read left in the stream - throws StreamClosedException
54
54
**/
55
- transparent inline def read [G [_]]()(using mc: CpsMonadContext [G ]): A = await(aread())(using rAsyncMonad, mc)
55
+ transparent inline def read [G [_]]()(using mc: CpsMonadContext [G ], fg: CpsMonadConversion [F ,G ]): A =
56
+ await(aread())
56
57
57
58
/**
58
59
* Synonim for read.
59
60
*/
60
- transparent inline def ? (using mc: CpsMonadContext [F ]) : A = await(aread())( using rAsyncMonad, mc)
61
+ transparent inline def ? (using mc: CpsMonadContext [F ]) : A = await(aread())
61
62
62
63
/**
63
64
* return F which contains sequence from first `n` elements.
@@ -84,7 +85,7 @@ trait ReadChannel[F[_], A]:
84
85
* should be called inside async block.
85
86
**/
86
87
transparent inline def take (n : Int )(using CpsMonadContext [F ]): IndexedSeq [A ] =
87
- await(atake(n))( using rAsyncMonad)
88
+ await(atake(n))
88
89
89
90
/**
90
91
* read value and return future with
@@ -107,7 +108,7 @@ trait ReadChannel[F[_], A]:
107
108
*
108
109
* should be called inside async block.
109
110
**/
110
- transparent inline def optRead ()(using CpsMonadContext [F ]): Option [A ] = await(aOptRead())( using rAsyncMonad)
111
+ transparent inline def optRead ()(using CpsMonadContext [F ]): Option [A ] = await(aOptRead())
111
112
112
113
def foreach_async (f : A => F [Unit ]): F [Unit ] =
113
114
given CpsAsyncMonad [F ] = asyncMonad
@@ -131,7 +132,7 @@ trait ReadChannel[F[_], A]:
131
132
* until end of stream is not reached
132
133
**/
133
134
transparent inline def foreach (inline f : A => Unit )(using CpsMonadContext [F ]): Unit =
134
- await(aforeach(f))( using rAsyncMonad)
135
+ await(aforeach(f))
135
136
136
137
137
138
def map [B ](f : A => B ): ReadChannel [F ,B ] =
@@ -171,7 +172,7 @@ trait ReadChannel[F[_], A]:
171
172
}
172
173
173
174
transparent inline def fold [S ](inline s0: S )(inline f : (S ,A ) => S )(using mc: CpsMonadContext [F ]): S =
174
- await[F ,S ,F ](afold(s0)(f))( using rAsyncMonad, mc)
175
+ await[F ,S ,F ](afold(s0)(f))
175
176
176
177
def zip [B ](x : ReadChannel [F ,B ]): ReadChannel [F ,(A ,B )] =
177
178
given CpsSchedulingMonad [F ] = asyncMonad
0 commit comments