Scala Cats:如何将 List[ValidatedNel[E, A]] 转换为 Ior[NonEmptyList[E], List[A]]?

Scala Cats: How do I convert a List[ValidatedNel[E, A]] to Ior[NonEmptyList[E], List[A]]?

我试过了:

def convert[E, A](in: List[ValidatedNel[E, A]]): Ior[NonEmptyList[E], List[A]] =
    in.separate

我得到:

could not find implicit value for parameter G: cats.Bifoldable[cats.data.ValidatedNel]
[error]     in.separate

然后我尝试了这样的事情:

  def convert[E, A](in: List[ValidatedNel[E, A]]): Ior[NonEmptyList[E], List[A]] =
    in.traverse(_.toIor)

现在我得到了:

 could not find implicit value for evidence parameter of type cats.Applicative[G]
[error]     in.traverse(_.toIor)

如@Toxaris 所述,-Ypartial-unification 需要打开