I am trying to compile the stream, but somehow Compiler
is not in scope, what context bound is needed for bringing it in scope?
import cats.Monad
def compilingStream[F[_]: Monad]: F[List[Int]] = {
val stream: fs2.Stream[F, Int] = fs2.Stream.emit(1).covary[F]
stream.head.compile.toList
}
error: could not find implicit value for parameter compiler: fs2.Stream.Compiler[[x]F[x],G]
stream.head.compile.toList
^
Fs2 Stream#compile
now requires a Sync[F]
(see this):
import cats.effect.Sync
def compilingStream[F[_]: Sync]: F[List[Int]] = {
val stream: fs2.Stream[F, Int] = fs2.Stream.emit(1).covary[F]
stream.head.compile.toList
}
This is communicated by the library maintainer:
fs2 Stream#compile now requires a Sync[F]. Even on completely pure streams. Because of resource management. Sad. Panda.
Daniel Spiewak
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With