私は次の方法を持っています:
def lift[P <: Product, L <: HList](params: P)(implicit hl: Generic.Aux[P, L]) = {
directive[L](_(hl to params))
}
そして、2つ以上の引数を渡すと完全に機能します:
val result = lift("string", 'a', 10) // compiles
val result2 = list(true, 5) // compiles
しかし、単一の引数を渡すと、暗黙的に解決できません:
val failes = lift("string")
の一般的な暗黙が見つかりません[String, Nothing]
。他の場合に機能するのはなぜですか?