无形.toHList的行为

时间:2016-05-03 21:52:08

标签: scala shapeless

以下编译:

 object Run1 extends App {

  import shapeless._
  import syntax.std.traversable._

  case class Container[T](x: T)

  Seq(Container(1), Container("x")).toHList[Container[Int] :: Container[String] :: HNil]

}

但这不是:

object Run2 extends App {

  import shapeless._
  import syntax.std.traversable._

  class Container[T](val x: T)

  Seq(new Container(1), new Container("x")).toHList[Container[Int] :: Container[String] :: HNil]

}

失败并出现以下错误:

Error:(40, 52) could not find implicit value for parameter fl: shapeless.ops.traversable.FromTraversable[shapeless.::    [com.adaje.service.table.Run2.Container[Int],shapeless.::[com.adaje.service.table.Run2.Container[String],shapeless.HNil]]]
Seq(new Container(1), new Container("x")).toHList[Container[Int] :: Container[String] :: HNil]
                                               ^

为什么第二个程序不起作用,是否有任何可以添加的程序呢?

由于

0 个答案:

没有答案