如何实现[x]->;在scala中使用无形状? def unreturn(lx:Sized[List[Int],Nat.\u 1]):Int=lx头

如何实现[x]->;在scala中使用无形状? def unreturn(lx:Sized[List[Int],Nat.\u 1]):Int=lx头,scala,shapeless,Scala,Shapeless,如何使用shapeless获得一个元素列表的头部?这不会编译: No implicit view available from List[Int] => scala.collection.GenTraversableLike[v.A,List[Int]]. not enough arguments for method sizedOps: (implicit evidence$2: List[Int] => scala.collection.GenTraversableLike[v

如何使用shapeless获得一个元素列表的头部?这不会编译:

No implicit view available from List[Int] =>
scala.collection.GenTraversableLike[v.A,List[Int]].

not enough arguments for method sizedOps:
(implicit evidence$2: List[Int] =>
scala.collection.GenTraversableLike[v.A,List[Int]])shapeless.
SizedOps[v.A,List[Int],shapeless.Nat._1]. Unspecified value parameter evidence$2.

您只需要在参数的类型中包含类型成员:

def unreturn(lx: Sized[List[Int], Nat._1] { type A = Int }): Int = lx.head
问题是,您知道没有(安全的)方法可以用任何其他
a
构建
大小的[List[Int],\u 1]
,但编译器仍然需要证据