julienrf / play-json-derived-codecs

MIT License
192 stars 34 forks source link

Compiler Blows Up After Adding Big Sum Type and Big Product Type #72

Open mikail-khan opened 4 years ago

mikail-khan commented 4 years ago

Hi :wave: ,

reproduction steps

using Scala 2.13.2 & "org.julienrf" %% "play-json-derived-codecs" % "7.0.0"

I created two large sum types as follows:

sealed trait A extends Product with Serializable

object A{
    case object AX extends A
    // another 249 of these
}

sealed trait B extends Product with Serializable

object B{
    case object BX extends B
    // another 249 of these
}

A and B are then reference in a product as follows:


sealed abstract case class C private (
  n: String,
  a: A,
  b: B
)

object C {
  private def apply(
  n: String,
  a: A,
  b: B
  ): C =
    new C(
      n: String,
     a: A,
     b: B
    ) {}

  val a: C = C("A", A.AX, B.BX)
 // another 250 of these values

}

problem

Error [info] Formatting 5 Scala sources... [warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings. [info] Formatting 90 Scala sources... [info] Compiling 200 Scala sources and 9 Java sources to /xx-xxx/target/scala-2.13/classes ... [error] ## Exception when compiling 209 sources to /xx-xxx//target/scala-2.13/classes [error] java.lang.StackOverflowError [error] java.base/java.security.AccessController.doPrivileged(Native Method) [error] java.base/java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite(InnerClassLambdaMetafactory.java:199) [error] java.base/java.lang.invoke.LambdaMetafactory.altMetafactory(LambdaMetafactory.java:504) [error] java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:138) [error] java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:307) [error] java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:258) [error] java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:248) [error] scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2619) [error] scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5938) [error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5973) [error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6020) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.$anonfun$onSuccess$1(Macros.scala:619) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.typecheck$1(Macros.scala:619) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onSuccess(Macros.scala:631) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:570) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$DefMacroExpander.onDelayed(Macros.scala:691) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:578) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1241) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1309) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1282) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor(Implicits.scala:47) [error] scala.tools.nsc.typechecker.Implicits.inferImplicitFor$(Implicits.scala:46) [error] scala.tools.nsc.Global$$anon$5.inferImplicitFor(Global.scala:482) [error] scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:272) [error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:888) [error] scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:492) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1305) [error] scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1302) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:875) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:812) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:631) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:1222) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:1257) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1314) [error] scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1743) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit1(Implicits.scala:113) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:92) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:89) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.tools.nsc.typechecker.Implicits.$anonfun$inferImplicit$1(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit(Implicits.scala:145) [error] scala.tools.nsc.typechecker.Implicits.inferImplicit$(Implicits.scala:143) [error] scala.tools.nsc.Global$$anon$5.inferImplicit(Global.scala:482) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue(Typers.scala:56) [error] scala.reflect.macros.contexts.Typers.inferImplicitValue$(Typers.scala:54) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] scala.reflect.macros.contexts.Context.inferImplicitValue(Context.scala:18) [error] shapeless.LazyMacros$DerivationContext$State$.resolveInstance(lazy.scala:303) [error] shapeless.LazyMacros$DerivationContext.resolve0(lazy.scala:421) [error] shapeless.LazyMacros$DerivationContext.resolve(lazy.scala:413) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$2(lazy.scala:497) [error] scala.util.Either.flatMap(Either.scala:352) [error] shapeless.LazyMacros$DerivationContext.$anonfun$derive$1(lazy.scala:495) [error] scala.Option.getOrElse(Option.scala:201) [error] shapeless.LazyMacros$DerivationContext.derive(lazy.scala:498) [error] shapeless.LazyMacros$DerivationContext$State$.deriveInstance(lazy.scala:327) [error] shapeless.LazyMacrosCompat.deriveInstance(lazymacros.scala:50) [error] shapeless.LazyMacrosCompat.deriveInstance$(lazymacros.scala:33) [error] shapeless.LazyMacros$.deriveInstance(lazy.scala:573) [error] shapeless.LazyMacros.mkImpl(lazy.scala:216) [error] shapeless.LazyMacros.mkLazyImpl(lazy.scala:203) [error] shapeless.LazyMacrosRef.mkLazyImpl(lazyref.scala:34) [error] jdk.internal.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] java.base/java.lang.reflect.Method.invoke(Method.java:566) [error] scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers.$anonfun$resolveJavaReflectionRuntime$5(JavaReflectionRuntimes.scala:45) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:758) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:410) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:453) [error] scala.tools.nsc.Global$$anon$5.pluginsMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:708) [error] scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:701) [error] scala.tools.nsc.Global$$anon$5.macroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$$anon$4.transform(Macros.scala:898) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll(Macros.scala:906) [error] scala.tools.nsc.typechecker.Macros.macroExpandAll$(Macros.scala:887) [error] scala.tools.nsc.Global$$anon$5.macroExpandAll(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime(Macros.scala:743) [error] scala.tools.nsc.typechecker.Macros.macroExpandWithRuntime$(Macros.scala:734) [error] scala.tools.nsc.Global$$anon$5.macroExpandWithRuntime(Global.scala:482) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:564) [error] scala.tools.nsc.Global.withInfoLevel(Global.scala:227) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:557) [error] scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:544) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:719) [error] scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:717) [error] scala.tools.nsc.Global$$anon$5.standardMacroExpand(Global.scala:482) [error] scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:456) [error] [error] stack trace is suppressed; run last Compile / compileIncremental for the full output [error] (Compile / compileIncremental) java.lang.StackOverflowError
mikail-khan commented 4 years ago

I increased the stack size to 1GB and was able to get it all to compile. Wondering if there are any optimisations that can be done in library?

julienrf commented 4 years ago

Thanks @mikail-khan for the report.

Unfortunately, I’m not sure what I can do here. It seems that typeclass derivation doesn’t scale to such large type hierarchies :-/

mikail-khan commented 4 years ago

I believe it is shapeless here which is blowing the stack. Do you have any experience with Magnolia by any chance? I believe it won't suffer the same result as Shapeless for such large type hierarchies. If I get some free cycles over the next few weeks I'm thinking of providing a Magnolia version of your great library. Do you think that would better as a separate library or is there some neat way that your library will be able to switch between Shapeless and Magnolia?

julienrf commented 4 years ago

I didn’t try Magnolia. I guess it should be possible to transition to Magnolia while keeping the same user-facing API. But more important to me is the compatibility with Scala 3, which is not supported by Magnolia, as far as I know.

mikail-khan commented 4 years ago

Scala 3 support seems to be work-in-progress: https://github.com/propensive/magnolia/pull/249.

julienrf commented 4 years ago

Interesting, I’m happy to move to Magnolia if it provides a nice API that works both on Scala 2 and Scala 3!

mikail-khan commented 4 years ago

I haven't looked at the Magnolia tutorial too deeply but if I understand it correctly it's a matter of providing implementations for two methods combine and dispatch.

mikail-khan commented 4 years ago

Here's an example: https://github.com/zio/zio-json/blob/develop/src/main/scala/zio/json/macros.scala