class LengthProvider(db: DB) extends ResultProvider[LengthResult](db){
override def get (userId: Long): Future[Seq[LengthResult]] = ...
}
object LengthProvider extends ((DB) => DisciplinePredictor) {
override def apply(db: DB) = new LengthProvider(db)
}
私は、構成マップを次ています
val providers: Map[String, ((DB) => ResultProvider[???])] = Map(
"length" -> LengthProvider,
"width" -> WidthProvider,
...
)
私の質問は、私は???の場所に置くべきものです。理想的には、それはに行くので、このタイプは暗黙的に実装されたWrites
があることだけを気にして、T : Writes
のようなものにするのが理想です。 Any
でコンパイルされますが、暗黙的に実装する必要がある情報は失われます。 または別の方法を使用する必要がありますか?おそらくすべての結果のケースクラス(たとえばLengthResult
)のスーパークラスを作成できますが、私はそのimplicitsを取り除きたいと思います。
try 'T <:Writes' –
@AlexanderArendarそれはまったく欲しいものではありません。 –