Scala 找不到隐式参数(可扩展记录)的值

Scala 找不到隐式参数(可扩展记录)的值,scala,record,shapeless,hlist,Scala,Record,Shapeless,Hlist,我有一个如下所示的函数: def fun[T <: HList](l: T)(implicit k: HKernelAux[T], ft: FromTraversable[T]) = ??? def-fun[T问题是在FieldType[Witness.`key`.T,ValueType]中找不到Typeable的实例 尝试修改函数: import shapeless.{HList, HNil} import shapeless.ops.hlist.HKernelAux import s

我有一个如下所示的函数:

def fun[T <: HList](l: T)(implicit k: HKernelAux[T], ft: FromTraversable[T]) = ???

def-fun[T问题是在
FieldType[Witness.`key`.T,ValueType]
中找不到
Typeable的实例

尝试修改函数:

import shapeless.{HList, HNil}
import shapeless.ops.hlist.HKernelAux
import shapeless.ops.traversable.FromTraversable
import shapeless.ops.record.Values

def fun[T <: HList, T1 <: HList](l: T)(implicit v: Values.Aux[T, T1], k: HKernelAux[T1],  ft: FromTraversable[T1]) = {
  //use l.values instead of l
}

我将使用UnzipFields来获取键和值。是否有一个类型类可以反转UnzipFields?你说的“反转”是什么意思?将键的HList和值的HList合并到一个记录中。尝试
shapeless.ops.HList.Zip
但它不需要两个HList,而是需要HList的HList。
import shapeless.syntax.singleton._
fun('a ->> 1 :: 'b ->> "x" :: HNil) // compiles