別のHList(別のLabelledGenericと同じ)からのタグ付きタイプからLabelledGenericインスタンスを取得しようとしていますが、それは暗黙のものを見つけることができない。タグ付きのケースクラスでLabelledGenericインスタンスを生成すると、シェイプレスでエラーが発生する
正確なエラーが(-x-ログ暗黙の有効化)されています
shapeless.this.DefaultSymbolicLabelling.mkDefaultSymbolicLabelling is not a valid implicit value for shapeless.DefaultSymbolicLabelling.Aux[Inner with shapeless.labelled.KeyTag[Symbol with shapeless.tag.Tagged[String("c")],Inner],K] because:
hasMatchingSymbol reported error: Inner with shapeless.labelled.KeyTag[Symbol with shapeless.tag.Tagged[String("c")],Inner] is not case class like or the root of a sealed family of types
これは抜粋です:
case class Inner(a: Int)
case class Outer(b: Int, c: Inner)
val gen = LabelledGeneric[Outer]
val inner = Inner(1)
val outer = Outer(2, inner)
def getGen[A, L](x: A)(implicit gen: LabelledGeneric.Aux[A, L]) = gen
val hOuter = gen.to(outer)
getGen(hOuter.at(1))
私はここで明らかに何かが足りないのですか?
ありがとうございました。
編集:
ケースクラスの定義を追加しました。私はまたscala 2.11.8とシェイプレスを使用しています。012.0
あなたは 'Outer'と' Inner'の定義を含めて、あなたが使っているシェイプレスとスケーラックのバージョンを言うことができますか? –
質問に追加しました – Sandro