scala / bug

Scala 2 bug reports only. Please, no questions — proper bug reports only.
https://scala-lang.org
232 stars 21 forks source link

StackOverflowError in typer (in `TypeComparers`) #12189

Open noresttherein opened 4 years ago

noresttherein commented 4 years ago

reproduction steps

Scala 2.13.3

The following commit in my project causes the following error when compiling from IntelliJ: oldsql The problem occurs both in incremental and fresh builds. SBT from console seems to work fine. I isolated the problem to the compilerHangup.scala, but didn't even try to extract this as quite a bit is going on in implicits, and three very similar expressions cause different behaviours in the compiler. Sorry. There are a lot of scaladocs though, so the purpose of individual implicits and methods should hopefully be possible to grasp individually.

I'll be looking a bit more into it as the code this uses isn't finished - I wasn't sure it even would compile

I don't know how to do 'spoiler' tags in Markup, sorry.

scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
    at scala.reflect.internal.Types$SimpleTypeProxy.baseType(Types.scala:167)
    at scala.reflect.internal.Types$SimpleTypeProxy.baseType$(Types.scala:167)
    at scala.reflect.internal.Types$SingletonType.baseType(Types.scala:1104)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.loop$4(TypeMaps.scala:644)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.thisTypeAsSeen(TypeMaps.scala:650)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:442)
    at scala.reflect.internal.Types$TypeRef.mapOver(Types.scala:2361)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.Types$TypeBounds.mapOver(Types.scala:1580)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.applyToSymbolInfo(TypeMaps.scala:123)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.loop$1(TypeMaps.scala:117)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.firstChangedSymbol(TypeMaps.scala:121)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:135)
    at scala.reflect.internal.Types$PolyType.mapOver(Types.scala:3027)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.applyToSymbolInfo(TypeMaps.scala:123)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.loop$1(TypeMaps.scala:117)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.firstChangedSymbol(TypeMaps.scala:121)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:135)
    at scala.reflect.internal.tpe.TypeMaps$TypeMap.mapOver(TypeMaps.scala:128)
    at scala.reflect.internal.Types$RefinedType.mapOver(Types.scala:1867)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.Types$TypeBounds.mapOver(Types.scala:1582)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.Types$PolyType.mapOver(Types.scala:3029)
    at scala.reflect.internal.tpe.TypeMaps$AsSeenFromMap.apply(TypeMaps.scala:445)
    at scala.reflect.internal.Types$Type.asSeenFrom(Types.scala:698)
    at scala.reflect.internal.Types$TypeRef.relativeInfo(Types.scala:2438)
    at scala.reflect.internal.Types$AbstractArgsTypeRef.scala$reflect$internal$Types$NonClassTypeRef$$super$relativeInfo(Types.scala:2729)
    at scala.reflect.internal.Types$NonClassTypeRef.relativeInfo(Types.scala:2209)
    at scala.reflect.internal.Types$NonClassTypeRef.relativeInfo$(Types.scala:2206)
    at scala.reflect.internal.Types$AbstractArgsTypeRef.relativeInfo(Types.scala:2729)
    at scala.reflect.internal.Types$TypeRef.baseTypeOfNonClassTypeRef(Types.scala:2512)
    at scala.reflect.internal.Types$TypeRef.baseType(Types.scala:2503)
    at scala.reflect.internal.Types$TypeRef.baseTypeOfNonClassTypeRef(Types.scala:2512)
    at scala.reflect.internal.Types$TypeRef.baseType(Types.scala:2503)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:474)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:530)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.tpe.TypeComparers.isSubPre(TypeComparers.scala:68)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:470)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$3$adapted(TypeComparers.scala:553)
    at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:3208)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:610)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:553)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
    at scala.reflect.internal.Types$TypeBounds.containsType(Types.scala:1553)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4784)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4749)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.Types.directlySpecializedBy$1(Types.scala:4731)
    at scala.reflect.internal.Types.specializedBy$1(Types.scala:4737)
    at scala.reflect.internal.Types.specializesSym(Types.scala:4742)
    at scala.reflect.internal.Types.specializesSym$(Types.scala:4728)
    at scala.reflect.internal.SymbolTable.specializesSym(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$2$adapted(TypeComparers.scala:551)
    at scala.collection.IterableOnceOps.forall(IterableOnce.scala:567)
    at scala.collection.IterableOnceOps.forall$(IterableOnce.scala:564)
    at scala.collection.AbstractIterable.forall(Iterable.scala:920)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:551)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:496)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.classOnRight$1(TypeComparers.scala:525)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:534)
    at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:548)
    at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:520)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:482)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:466)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.tpe.TypeComparers.retry$4(TypeComparers.scala:590)
    at scala.reflect.internal.tpe.TypeComparers.abstractTypeOnLeft$1(TypeComparers.scala:591)
    at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:606)
    at scala.reflect.internal.tpe.TypeComparers.thirdTryRef$1(TypeComparers.scala:535)
    at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:480)
    at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:616)
    at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:348)
    at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:301)
    at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:268)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:28)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:814)
joroKr21 commented 4 years ago

Hmm, if it works fine with sbt does that mean it's an Intellij issue? 🤔 Are you using sbt shell within Intellij or not?

noresttherein commented 4 years ago

I think it's an issue with the compile server implementation. As you can see, there are only scala packages in the stack trace; IntelliJ is only reporting the error which it got over the network interface from the compile server. While I do not claim to really understand how compile server works and all the options available in IntelliJ, but I'm pretty sure they do not have their own compiler and compile from disk, so I am not sure what can be different.

joroKr21 commented 4 years ago

The -Xss could be different. What are your SBT_OPTS or .jvmopts?

noresttherein commented 4 years ago

No custom Java/SBT settings in command line environment. I have the following lines in build.sbt:

fork in Compile := true

javaOptions in Compile ++= Seq("-Xmx4G")

The IntelliJ project is directly imported and reimported from sbt, so I would presume it uses sbt to compile, especially that its output looks familiar:

Executing pre-compile tasks...
Running 'before' tasks
Checking sources
Searching for compilable files...
Reading compilation settings...
scalac: instantiating compiler... [oldsql]
scalac: compiling 1 sources... 4% [oldsql]
scalac: compiling 1 sources... 8% [oldsql]
scalac: compiling 1 sources... 13% [oldsql]

I tried without compile server and added Xxs:512k, the result is the same, after 12 minutes of compilation - while SBT in the command line finishes a clean build in 2m. I reported the issue also to Jetbrains: 253037. In all cases the stack ends with lambdas from AsSeenFromMap.loop. Doesn't it bring any clues?

SethTisue commented 4 years ago

In all cases the stack ends with lambdas from AsSeenFromMap.loop. Doesn't it bring any clues?

It probably would if we also had an MCVE.

noresttherein commented 4 years ago

@SethTisue What's a MCVE? I ran a build with -Xss:4m. Same thing. I'd like to again stress that command line SBT builds correctly and fast with no custom options. I have no idea what the difference may be, as I said I reported it to Jetbrains too. If someone tells me what/how to check, I'll do it.

okouyad commented 1 year ago

Any update on this ?

SethTisue commented 1 year ago

MCVE = https://stackoverflow.com/help/minimal-reproducible-example