考虑以下简单的应用程序:
import cats.effect.Resource
import cats.{Monad, SemigroupK}
import cats.syntax.semigroupk._
object ResourceSemigroupK extends App {
//Error: value combineK is not a member of class Resource
def combine[F[_]: SemigroupK: Monad](rsc: Resource[F, Unit], append: Resource[F, Unit]): Resource[F, Unit] =
rsc.combineK(append)
//Works ok
def combineExplicitly[F[_]: SemigroupK: Monad](rsc: Resource[F, Unit], append: Resource[F, Unit]): Resource[F, Unit] =
SemigroupK[Resource[F, ?]].combineK(rsc, append)
}
有没有办法应用combineK
语法Resource[F, Unit]
?