我試圖隱式創建一個hlist。如何通過隱式函數從單個元素創建Hlist
case class A(value: Int)
implicit def lift(single: A): A :: HNil = single :: HNil
def something[L <: HList](l: L)(implicit lUBConstraint: LUBConstraint[L, A],
isHCons: IsHCons[L]) = {
println("works")
}
something(A(1) :: A(2) :: HNil) //works
something(A(1)) //not works
something(lift(A(1))) //works
東西(A(1))不起作用。但是,我使用intellij的想法,它可以檢測到電梯適合在這裏使用。
這是來自編譯器的錯誤消息。
推斷出的類型的參數[Boot.A]不符合方法的東西的類型參數界限[L <:shapeless.HList] [錯誤]東西(A(1))//沒有行爲[錯誤]^[錯誤]
類型不匹配; [error] found:Boot.A [error] required:L [error] something(A(1))
無法找到參數lUBConstraint的隱式值:shapeless.LUBConstraint [L,Boot.A] [error]東西(A(1)
它以什麼方式不起作用?有錯誤嗎?如果是這樣,請提供如下所示的錯誤。 – Dekker
我編輯了這個問題。 – Korkor