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] [エラー]何か((1))//ない作品[エラー]^[エラー]
タイプの不一致。 [error] found:Boot.A [error] required:L [error] something(A(1))
パラメータlUBConstraintの暗黙の値が見つかりませんでした:shapeless.LUBConstraint [L、Boot.A] [error]何か(Aは、(1)
どのように動作しませんか?エラーはありますか?表示されている場合は、エラーを提示してください。 – Dekker
私は質問を編集しました。 – Korkor