Validation 如何使用ValidatedNec累积错误?

Validation 如何使用ValidatedNec累积错误?,validation,scala-cats,Validation,Scala Cats,我正在尝试使用cats validatedNec进行最小的错误累积。 但它似乎无法编译。 以下是我尝试的代码: 导入cats.data_ 进口猫_ //有或没有此行都不起作用:import cats.syntax.applicative_ val one:ValidatedNec[String,Int]=Validated.validate(42) val 2:ValidatedNec[String,Boolean]=Validated.Validate(true) (一,二){ (一,二)=>

我正在尝试使用cats validatedNec进行最小的错误累积。 但它似乎无法编译。 以下是我尝试的代码:

导入cats.data_
进口猫_
//有或没有此行都不起作用:import cats.syntax.applicative_
val one:ValidatedNec[String,Int]=Validated.validate(42)
val 2:ValidatedNec[String,Boolean]=Validated.Validate(true)
(一,二){
(一,二)=>println(一)
}
错误是:值mapN不是(cats.data.ValidatedNec[String


我遗漏了什么吗?

是的,当你导入
cats.implicits.\u
时,你已经导入了所有
语法扩展,因此,没有必要导入
cats.syntax.applicative
。更糟糕的是,当你在Scala中导入两次时,它们会冲突,让你一无所获(因为Scala编译器无法选择这两个选项中的哪一个)

如果删除该语法导入,它应该不会出现问题。
请参阅《导入指南》了解更多信息:

是的,当您导入
cats.implicits.\u
时,您已经导入了所有
语法
扩展,因此,无需导入
cats.syntax.applicative
。更糟糕的是,当您在Scala中两次导入某个内容时,它们会发生冲突,并且不会给您留下任何东西ing(因为Scala编译器无法选择这两个选项中的哪一个)

如果删除该语法导入,它应该不会出现问题。
有关此项的详细信息,请参阅《导入指南》:

没有行的相同问题。@Jhon_uuu是否启用了
-Ypartial unification
?因为该代码对我有效,请参阅此提琴:没有行的相同问题。@Jhon_u是否启用了
-Ypartial unification
?因为该代码对我有效,请参阅此提琴: