洗練されたライブラリ(https://github.com/fthomas/refined)の正の型を使用して整数型を制約しようとするこの短いコードを試してみます。このスニペットをコンパイルする場合洗練された制約 "正"を使用してコンパイルエラー
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)
}
}
、私は、このエラーメッセージが表示されます:ポジ型のための検証の実装が欠落しているようだ
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
いるから。 PositiveタイプのValidate特性のインスタンスを見つけるのに役立つ人がいるかどうか疑問に思っていましたか?あるいは、私はそのようなインスタンスを自分で提供すべきですか?