How to bytes.pbTo[CaseClassWithMoreThan22Columns]?
When I do have to serialize and deserialize case class with more than 22 columns, it just complains that there is no implicit defined. Is there a way around this? Thanks for your help.
I doubt that the number of field is the problem here. I think that you have one (or several) fields that are not serialisable (from pbdirect's perspective at least).
All of the fields in my case class are of String, Long, Int and Double. Let me try removing again a few of them at a time to see if the 22 columns limit is it. Thanks.
It turns out to be not the number of columns as you suspect. I do have this:
import cats.instances.list._
import cats.instances.option._
import pbdirect._
final case class Record(val one: String, val two: Int, val thee: Int, val four: Int, val five: Int, val six: Long, val seven: String, val eight: String, val nine: String, val ten: String, val eleven: String, val twelve: String, val thirteen: Int, val fourteen: String, val fifteen: String, val sixteen: String, val seventeen: String, val srcPort: String, val dstPort: String, val appProtocol: String, val tUlBytes: Long, val tDlBytes: Long, val startTimeEpoch: Long, val endTimeEpoch: Long, val eighteen: Long, val nineteen: Long, val twenty: String, val twentyone: String, val twentytwo: Int, val twentythree: String, val twentyfour: String) //, val twentyfive: String, val twentysix: String, val twentyseven: String, val twentyeight: Int, val twentynine: Int, val thirty: String, val thiryone: Int) //, val thirtytwo : String, val thirtythree : String, val thirtyfour : String, val thirtyfive : String, val thirtysix : String, val thirtyseven : Int, val thirtyeight : Int, val ipServerIpAddress : String, val ipProtocol : Int, val ipSrcAddress : String, val snChargeVolumeIpBytesDownlink : Int, val snChargeVolumeIpBytesUplink : Int, val thirtynine : Int, val fourty : String, val fourtyone : String, val fourtytwo : String, val fourtythree : String, val fourtyfour : String, val fourtyfive : Int, val fourtysix : String, val fourtyseven : String, val fourtyeight : Int, val fourtynine : Int, val fivety : Int, val fivetyone : Int, val fivetytwo : String, val fivetythree : String, val fivefour : String, val fivetyfive : String, val fivetysix : String, val fivetyseven : String, val fivetyeight : String, val fivetynine : String, val sixty : Double, val sixtyone : Double, val sixtwo : String, val sixtythree : String, val sixtyfour : String, val sixtyfive : String, val sixtysix : String, val sixtysevent : String)
val temp = new Record("", 0, 0, 0, 0, 0L, "", "", "", "", "", "", 0, "", "", "", "", "", "", "", 0L, 0L, 0L, 0L, 0L, 0L, "", "", 0, "", "") //, "", "", "", 0, 0, "", 0) //, "0", "", "", "", "", 0, 0, "", 0, "", 0, 0, 0, "", "", "", "", "", 0, "", "", 0, 0, 0, 0, "", "", "", "", "", "", "", "", 0.0, 0.0, "", "", "", "", "", "")
val bytes = temp.toPB
val message = bytes.pbTo[Record]
i do get stackoverflow error when i have 31 fields:
Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:102)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:297)
at scala.reflect.internal.tpe.TypeMaps$TypeTraverser.apply(TypeMaps.scala:295)
at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:111)
at scala.reflect.internal.tpe.TypeMaps$FindTypeCollector.traverse(TypeMaps.scala:1112)
at scala.reflect.internal.tpe.TypeMaps$TypeCollector.collect(TypeMaps.scala:309)
at scala.reflect.internal.Types$Type.find(Types.scala:784)
at scala.reflect.internal.Types$Type.exists(Types.scala:798)
at scala.reflect.internal.Types$TypeVar.isRelatable(Types.scala:3317)
at scala.reflect.internal.Types$TypeVar.registerBound(Types.scala:3265)
at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:471)
at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:594)
at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:332)
at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:290)
at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:252)
at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:18)
at scala.reflect.internal.Types.isSubArg$1(Types.scala:4222)
at scala.reflect.internal.Types.$anonfun$isSubArgs$2(Types.scala:4226)
at scala.reflect.internal.Types.isSubArgs(Types.scala:4226)
at scala.reflect.internal.Types.isSubArgs$(Types.scala:4220)
at scala.reflect.internal.SymbolTable.isSubArgs(SymbolTable.scala:18)
at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:448)
at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:594)
at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:332)
at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:290)
at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:252)
at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:18)
at scala.reflect.internal.tpe.TypeComparers.isWeakSubType(TypeComparers.scala:617)
at scala.reflect.internal.tpe.TypeComparers.isWeakSubType$(TypeComparers.scala:598)
at scala.reflect.internal.SymbolTable.isWeakSubType(SymbolTable.scala:18)
at scala.reflect.internal.Types$Type.weak_$less$colon$less(Types.scala:855)
at scala.tools.nsc.typechecker.Infer$Inferencer.isCompatible(Infer.scala:307)
at scala.tools.nsc.typechecker.Infer$Inferencer.conforms$1(Infer.scala:364)
at scala.tools.nsc.typechecker.Infer$Inferencer.exprTypeArgs(Infer.scala:374)
at scala.tools.nsc.typechecker.Infer$Inferencer.inferExprInstance(Infer.scala:927)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:746)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:39)
at scala.tools.nsc.Global$$anon$1.inferImplicitFor(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$applyImplicitArgs$2(Typers.scala:172)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:165)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:889)
at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:477)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1227)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$3(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:127)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:125)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:44)
at scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:42)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:6)
at shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:304)
at shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:431)
at shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:423)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:507)
at scala.util.Either$LeftProjection.flatMap(Either.scala:561)
at shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:505)
at scala.Option.getOrElse(Option.scala:121)
at shapeless.LazyMacros$DerivationContext.derive(lazy.scala:505)
at shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:337)
at shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50)
at shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33)
at shapeless.LazyMacros$.deriveInstance(lazy.scala:582)
at shapeless.LazyMacros.mkImpl(lazy.scala:216)
at shapeless.LazyMacros.mkLazyImpl(lazy.scala:203)
at shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$4(JavaReflectionRuntimes.scala:34)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:803)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:942)
at scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:950)
at scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:931)
at scala.tools.nsc.Global$$anon$1.macroExpandAll(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:788)
at scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:779)
at scala.tools.nsc.Global$$anon$1.macroExpandWithRuntime(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:620)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:747)
at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:634)
at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)
at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)
at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)
at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)
at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)
at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)
at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)
at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)
at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)
at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:448)
at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1171)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1231)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1204)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1224)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:706)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:643)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:511)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:964)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:992)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1049)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1445)
at scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:95)
at scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:82)
at scala.tools.nsc.Global$$anon$1.inferImplicit(Global.scala:448)
at scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:40)
I am using scala 2.12.6 and I do have eight gigs for my Intellij. Thanks for your help.
@btlines is there any chance you have looked at this error? Thanks for your help.
Sorry for the late reply but I'm struggling to keep up with all these projects. This error occurs at compile time when the compiler performs the implicit resolution. I don't think there is a way to get around this stackoverflow issue because it's just how the compiler works. That being said there's probably a way to improve things a bit. At the moment the implicit resolution is done field by field (hence the stackoverflow error). If we do it X fields by X fields it should be possible to reduce the number of calls which should give us more room before we hit the stackoverflow. Hopefully that should be enough to serialize your case class.
Thank you for your help. Can you elaborate on what you think could be done? Let’s say the case class is what I have at the moment. Thanks again.
What I mean is that your case class is like a long list of fields and the implicit resolution is resolving these fields one by one: Something like:
- Find parser for field 1 and parser for rest of the fields which expands into
- Find parser for field 2 and parser for rest of the fields which expands into
- Find parser for field 3 and parser for rest of the fields which expands into ... Every time it moves to the next field a new set of calls is added into the callstack.
The idea is that we can resolve several fields into a single phase:
- Find parser for field 1, 2, 3, 4, 5 and parser for rest of the fields which expands into
- Find parser for field 6, 7, 8, 9, 10 and parser for rest of the fields which expands into ... Now we have 5 times less calls to make which gives us some space before we overflow the stack.
I'll try to create a PR later tonight to see if it works ...