我有以下方法:
def lift[P <: Product, L <: HList](params: P)(implicit hl: Generic.Aux[P, L]) = {
directive[L](_(hl to params))
}
如果我通过两个以上的参数,它就可以完美地工作:
val result = lift("string", 'a', 10) // compiles
val result2 = list(true, 5) // compiles
但是当我传递一个参数时,它无法隐式解析:
val failes = lift("string")
它找不到 Generic implicit for [String, Nothing]
,为什么它在其他情况下有效?