我打算将Bifunctor IO
与错误通道一起使用。因此,我尝试为MonadError
提供一个隐式实例,但无法编译。
import cats.MonadError
sealed trait AppErrors
//...
object App{
def runApp[F[_, _]: MonadError[F[AppErrors, ?], ?]] = {
}
}
例如cats-bio:cats.BIO[+E, +A]
我遇到了编译错误
Error:(13, 22) type F takes type parameters
def runApp[F[_, _] : MonadError[F[AppErrors, ?], ?]] ={}
我不太了解如何解决要求MonadError[F[_], A]
的问题。