2017-03-24 2 views
1

Als ich 0.9.0 Katzen verwende ich leicht Wert | @ | ist kein Mitglied von cats.data.Validated

import cats.data.Validated 
import cats.data.Validated._ 
import cats.syntax.all._ 
import cats.implicits._ 
val x = Validated.valid[List[String], Int](10) 
val y = Validated.valid[List[String], Int](20) 
x |@| y 

Dies funktioniert gut

tun können. Aber für mein Projekt muss ich Cats 0.7.2 verwenden.

wenn ich den gleichen Code mit Katzen versuchen 0.7.2 dann das gleiche Code funktioniert nicht und ich bekomme Fehlermeldung value |@| is not a member of cats.data.Validated

Antwort

4

Dies scheint zu kompilieren:

import cats.data.Validated 
import cats.data.Validated._ 
import cats.syntax.cartesian._ 
import cats.instances.list._ // <- this was the missing bit 

val x = Validated.valid[List[String], Int](5) 
val y = Validated.valid[List[String], Int](6) 
x |@| y 

Ich bin nicht sicher, wie die cats.implicits._ funktioniert tatsächlich, aber es scheint, dass import cats.instances.list._ wurde nicht importiert.

+0

Ich verwendete Katzen 0.7.2 und Scala 2.11.8 – mdm

Verwandte Themen