Ich versuche dieses kurze Code-Snippet, wobei ich versuche, einen Integer-Typ mit dem positiven Typ aus der verfeinerten Bibliothek (https://github.com/fthomas/refined) zu beschränken.Kompilierfehler unter Verwendung der verfeinerten Einschränkung "Positiv"
package xxx
import eu.timepit.refined._
import eu.timepit.refined.api.{Refined, Validate}
import eu.timepit.refined.auto._
import eu.timepit.refined.numeric._
import eu.timepit.refined.api.Refined
import eu.timepit.refined.numeric.Interval
object Lala {
type X = Integer Refined Positive
def lala(x: Int): Unit = {
val lala: X = refineV[X](x)
}
}
Wenn diese Schnipsel kompilieren, erhalte ich diese Fehlermeldung:
Error:(13, 29) could not find implicit value for parameter v: eu.timepit.refined.api.Validate[Int,xxx.Lala.X] val lala: X = refineVX
Error:(13, 29) not enough arguments for method apply: (implicit v: eu.timepit.refined.api.Validate[Int,xxx.Lala.X])Either[String,eu.timepit.refined.api.Refined[Int,xxx.Lala.X]] in class RefinePartiallyApplied. Unspecified value parameter v. val lala: X = refineVX
, von dem es scheint, dass ein Validate-Implementierung für die Positiv-Typ fehlt. Ich habe mich gefragt, ob jemand mir helfen könnte, eine Instanz der Validate-Eigenschaft für den Typ Positive zu finden? Oder sollte ich selbst eine solche Instanz bereitstellen?