Description
Minimized code
trait Eq[k <: AnyKind, K[_ <: k]] :
def [A <: k, B <: k](k: K[A]) isEq (k2: K[B]): Eq.GEQ[k, K, A, B]
object Eq:
enum GEQ[k <: AnyKind, K[_ <: k], A <: k, B <: k]:
case Y[k <: AnyKind, K[_ <: k], A <: k](res: K[A]) extends GEQ[k, K, A, A]
case N()
sealed trait DPair[k <: AnyKind, K[_ <: k], +V[_ <: k]]:
type A <: k
val key: K[A]
val value: V[A]
final def extract[B <: k](k: K[B])(using Eq[k, K]): Option[V[B]] = key isEq k match
case y: Eq.GEQ.Y[k, K, A] => Some(value)
case _ => None
object DPair:
given pair [k, K[_ <: k], V[_ <: k], C <: k] as Conversion[(K[C], V[C]), DPair[k, K, V]] = tup =>
case class dpair(key: K[C], value: V[C]) extends DPair[k, K, V]:
type A = C
dpair(tup._1, tup._2)
Output (click arrow to expand)
exception while typing x9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m] of class class dotty.tools.dotc.ast.Trees$TypeApply # 123468
exception while typing [33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m.
$asInstanceOf$
[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m of class class dotty.tools.dotc.ast.Trees$If # 123836
exception while typing {
[33mcase[0m [33mval[0m [36mx9[0m: [35mEq.GEQ[k, K, DPair.this.A, B][0m =
x$2.isEq[[35mDPair.this.A[0m, [35mB0m(k)
[33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m
.$asInstanceOf$[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult7[33m][0m
{
None
}
} of class class dotty.tools.dotc.ast.Trees$Block # 123837
exception while typing matchResult7[33m[[0mOption[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx9[0m: [35mEq.GEQ[k, K, DPair.this.A, B][0m =
x$2.isEq[[35mDPair.this.A[0m, [35mB0m(k)
[33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m.$asInstanceOf$[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult7[33m][0m
{
None
}
} of class class dotty.tools.dotc.ast.Trees$Labeled # 123838
exception while typing [33mfinal[0m [33mdef[0m [36mextract[0m[[35mB[0m[35m <: k[0m]([36mk[0m: [35mK[B][0m)([33musing [0m[36mx$2[0m: [35mEq[k, K][0m): [35mOption[V[B]][0m =
matchResult7[33m[[0mOption[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx9[0m: [35mEq.GEQ[k, K, DPair.this.A, B][0m =
x$2.isEq[[35mDPair.this.A[0m, [35mB0m(k)
[33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m.$asInstanceOf$[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult7[33m][0m
{
None
}
} of class class dotty.tools.dotc.ast.Trees$DefDef # 123839
exception while typing @[35mscala.annotation.internal.SourceFile[0m(
[32m"/tmp/scastie5782560974754810597/src/main/scala/main.scala"[0m
) @[35mscala.annotation.internal.Child[0m[[35mDPair0m [33msealed[0m [33mtrait[0m [35mDPair[0m[[35mk[0m[35m <: AnyKind[0m,
[35mK[0m[35m[$4][0m
, [35mV[0m[35m[$5]0m[33m extends[0m [35mObject[0m {
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$4][0m
[33mprivate[0m [33mtype[0m +[35mV[0m[35m[$5][0m
[33mtype[0m [35mA[0m[35m <: k[0m
[33mdef[0m [36mkey[0m: [35mK[DPair.this.A][0m
[33mdef[0m [36mvalue[0m: [35mV[DPair.this.A][0m
[33mfinal[0m [33mdef[0m [36mextract[0m[[35mB[0m[35m <: k[0m]([36mk[0m: [35mK[B][0m)([33musing [0m[36mx$2[0m: [35mEq[k, K][0m): [35mOption[V[B]][0m =
matchResult7[33m[[0mOption[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx9[0m: [35mEq.GEQ[k, K, DPair.this.A, B][0m =
x$2.isEq[[35mDPair.this.A[0m, [35mB0m(k)
[33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m.$asInstanceOf$[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult7[33m][0m
{
None
}
}
} of class class dotty.tools.dotc.ast.Trees$TypeDef # 123841
exception while typing [33mpackage [0m {
@[35mscala.annotation.internal.SourceFile[0m(
[32m"/tmp/scastie5782560974754810597/src/main/scala/main.scala"[0m
) [33mtrait[0m [35mEq[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$1]0m[33m extends[0m [35mObject[0m {
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$1][0m
@root.scala.annotation.infix() [33mdef[0m ([36mk[0m: [35mK[A][0m) [36misEq[0m[[35mA[0m[35m <: k[0m, [35mB[0m[35m <: k[0m]([36mk2[0m: [35mK[B][0m
)
: [35mEq.GEQ[k, K, A, B][0m
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mval[0m [36mEq[0m: [35mEq$[0m = [33mnew [0m[35mEq$[0m()
@[35mscala.annotation.internal.SourceFile[0m(
[32m"/tmp/scastie5782560974754810597/src/main/scala/main.scala"[0m
) [33mfinal[0m [33mmodule[0m [33mclass[0m [35mEq$[0m()[33m extends[0m [35mObject[0m(), [35mSerializable[0m {
[33mprivate[0m [33mdef[0m [36mwriteReplace[0m(): [35mAnyRef[0m =
[33mnew [0m[35mscala.runtime.ModuleSerializationProxy[0m(classOf[Eq.type])
@[35mscala.annotation.internal.Child[0m[[35mEq.GEQ.N0m @
[35mscala.annotation.internal.Child[0m
[[35mEq.GEQ.Y0m [33msealed[0m [33mabstract[0m [33mclass[0m [35mGEQ[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$2][0m, [35mA[0m[35m <: k[0m, [35mB[0m[35m <: k[0m]
(
)[33m extends[0m [35mObject[0m(), [35mEnum[0m {
[33moverride[0m [33mdef[0m [36mordinal[0m: [35mInt[0m = [33mthis[0m.$ordinal
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$2][0m
[33mprivate[0m [33mtype[0m [35mA[0m[35m <: k[0m
[33mprivate[0m [33mtype[0m [35mB[0m[35m <: k[0m
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mval[0m [36mGEQ[0m: [35mEq.GEQ$[0m = [33mnew [0m[35mEq.GEQ$[0m()
[33mfinal[0m [33mmodule[0m [33mclass[0m [35mGEQ$[0m()[33m extends[0m [35mAnyRef[0m(), [35mSerializable[0m, [35m
scala.deriving.Mirror.Sum
[0m {
[33mprivate[0m [33mdef[0m [36mwriteReplace[0m(): [35mAnyRef[0m =
[33mnew [0m[35mscala.runtime.ModuleSerializationProxy[0m(classOf[Eq.GEQ.type])
[33mfinal[0m [33mcase[0m [33mclass[0m [35mY[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$3][0m, [35mA[0m[35m <: k[0m]([36mres[0m: [35mK[A][0m)[33m extends[0m
[35mEq.GEQ[k, K, A, A][0m
(), [35mProduct[0m, [35mSerializable[0m {
[33moverride[0m [33mdef[0m [36mhashCode[0m(): [35mInt[0m =
scala.runtime.ScalaRunTime.hashCode([33mthis[0m)
[33moverride[0m [33mdef[0m [36mequals[0m([36mx$0[0m: [35mAny[0m): [35mBoolean[0m =
[33mthis[0m.eq(x$0.$asInstanceOf$[[35mObject[0m]).||(
matchResult1[33m[[0mBoolean[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx1[0m: [35m(x$0 : Object)[0m = x$0
[33mif [0mx1.$isInstanceOf$[[35mEq.GEQ.Y[k, K, A] @unchecked[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36mx$0[0m: [35mEq.GEQ.Y[k, K, A][0m =
x1.$asInstanceOf$[[35mEq.GEQ.Y[k, K, A] @unchecked[0m]
[33mreturn[[0mmatchResult1[33m][0m [33mthis[0m.res.==(x$0.res)
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult1[33m][0m [31mfalse[0m
}
)
[33moverride[0m [33mdef[0m [36mtoString[0m(): [35mString[0m =
scala.runtime.ScalaRunTime.toString([33mthis[0m)
[33moverride[0m [33mdef[0m [36mcanEqual[0m([36mthat[0m: [35mAny[0m): [35mBoolean[0m =
that.isInstanceOf[[35mEq.GEQ.Y[k, K, A] @unchecked[0m]
[33moverride[0m [33mdef[0m [36mproductArity[0m: [35mInt[0m = [31m1[0m
[33moverride[0m [33mdef[0m [36mproductPrefix[0m: [35mString[0m = [32m"Y"[0m
[33moverride[0m [33mdef[0m [36mproductElement[0m([36mn[0m: [35mInt[0m): [35mAny[0m =
matchResult2[33m[[0mObject[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx3[0m: [35m(n : Int)[0m = n
[33mif [0m[31m0[0m.==(x3)[33m then[0m [33mreturn[[0mmatchResult2[33m][0m [33mthis[0m.1[33m else [0m[31m()[0m
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33moverride[0m [33mdef[0m [36mproductElementName[0m([36mn[0m: [35mInt[0m): [35mString[0m =
matchResult3[33m[[0mString[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx4[0m: [35m(n : Int)[0m = n
[33mif [0m[31m0[0m.==(x4)[33m then[0m [33mreturn[[0mmatchResult3[33m][0m [32m"res"[0m[33m else [0m[31m()[0m
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$3][0m
[33mprivate[0m [33mtype[0m [35mA[0m[35m <: k[0m
[33mdef[0m [36mres[0m: [35mK[A][0m
[33mdef[0m [36mcopy[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$3][0m, [35mA[0m[35m <: k[0m]([36mres[0m: [35mK[A][0m): [35mEq.GEQ.Y[k, K, A][0m =
[33mnew [0m[35mEq.GEQ.Y[0m[[35mk[0m, [35mK[0m, [35mA0m
[33mdef[0m [36mcopy$default$1[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$3][0m, [35mA[0m[35m <: k[0m]: [35mK[A][0m =
Y.this.res:[35m(Y.this.res : (): Object) @uncheckedVariance[0m
[33mdef[0m [36m$ordinal[0m: [35mInt[0m = [31m0[0m
[33mdef[0m [36m_1[0m: [35mK[A][0m = [33mthis[0m.res
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mval[0m [36mY[0m: [35mEq.GEQ.Y$[0m = [33mnew [0m[35mEq.GEQ.Y$[0m()
[33mfinal[0m [33mmodule[0m [33mclass[0m [35mY$[0m()[33m extends[0m [35mAnyRef[0m(), [35mSerializable[0m, [35m
scala.deriving.Mirror.Product
[0m {
[33mprivate[0m [33mdef[0m [36mwriteReplace[0m(): [35mAnyRef[0m =
[33mnew [0m[35mscala.runtime.ModuleSerializationProxy[0m(classOf[Eq.GEQ.Y.type])
[33mdef[0m [36mapply[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$3][0m, [35mA[0m[35m <: k[0m]([36mres[0m: [35mK[A][0m): [35mEq.GEQ[k, K, A, A][0m
=
[33mnew [0m[35mEq.GEQ.Y[0m[[35mk[0m, [35mK[0m, [35mA0m
[33mdef[0m [36munapply[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$3][0m, [35mA[0m[35m <: k[0m]([36mx$1[0m: [35mEq.GEQ.Y[k, K, A][0m):
[35mEq.GEQ.Y[k, K, A][0m
= x$1
[33mtype[0m [35mMirroredMonoType[0m[35m = Eq.GEQ.Y[?, ?, ?][0m
[33mdef[0m [36mfromProduct[0m([36mx$0[0m: [35mProduct[0m): [35mEq.GEQ.Y.MirroredMonoType[0m =
[33mnew [0m[35mEq.GEQ.Y[0m[[35mAnyKind[0m, [35m[$3 <: AnyKind] =>> Any[0m, [35mAny0m.$asInstanceOf$[[35mEq.GEQ.Y.MirroredMonoType[0m]
}
[33mfinal[0m [33mcase[0m [33mclass[0m [35mN[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$2][0m, [35mA[0m[35m <: k[0m, [35mB[0m[35m <: k0m[33m extends[0m
[35mEq.GEQ[k, K, A, B][0m
(), [35mProduct[0m, [35mSerializable[0m {
[33moverride[0m [33mdef[0m [36mhashCode[0m(): [35mInt[0m =
scala.runtime.ScalaRunTime.hashCode([33mthis[0m)
[33moverride[0m [33mdef[0m [36mequals[0m([36mx$0[0m: [35mAny[0m): [35mBoolean[0m =
[33mthis[0m.eq(x$0.$asInstanceOf$[[35mObject[0m]).||(
matchResult4[33m[[0mBoolean[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx5[0m: [35m(x$0 : Object)[0m = x$0
[33mif [0mx5.$isInstanceOf$[[35mEq.GEQ.N[k, K, A, B] @unchecked[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36mx$0[0m: [35mEq.GEQ.N[k, K, A, B][0m =
x5.$asInstanceOf$[[35mEq.GEQ.N[k, K, A, B] @unchecked[0m]
[33mreturn[[0mmatchResult4[33m][0m [31mtrue[0m
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult4[33m][0m [31mfalse[0m
}
)
[33moverride[0m [33mdef[0m [36mtoString[0m(): [35mString[0m =
scala.runtime.ScalaRunTime.toString([33mthis[0m)
[33moverride[0m [33mdef[0m [36mcanEqual[0m([36mthat[0m: [35mAny[0m): [35mBoolean[0m =
that.isInstanceOf[[35mEq.GEQ.N[k, K, A, B] @unchecked[0m]
[33moverride[0m [33mdef[0m [36mproductArity[0m: [35mInt[0m = [31m0[0m
[33moverride[0m [33mdef[0m [36mproductPrefix[0m: [35mString[0m = [32m"N"[0m
[33moverride[0m [33mdef[0m [36mproductElement[0m([36mn[0m: [35mInt[0m): [35mAny[0m =
matchResult5[33m[[0mNothing[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx7[0m: [35m(n : Int)[0m = n
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33moverride[0m [33mdef[0m [36mproductElementName[0m([36mn[0m: [35mInt[0m): [35mString[0m =
matchResult6[33m[[0mNothing[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx8[0m: [35m(n : Int)[0m = n
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$2][0m
[33mprivate[0m [33mtype[0m [35mA[0m[35m <: k[0m
[33mprivate[0m [33mtype[0m [35mB[0m[35m <: k[0m
[33mdef[0m [36mcopy[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$2][0m, [35mA[0m[35m <: k[0m, [35mB[0m[35m <: k0m: [35mEq.GEQ.N[k, K, A, B][0m
=
[33mnew [0m[35mEq.GEQ.N[0m[[35mk[0m, [35mK[0m, [35mA[0m, [35mB0m
[33mdef[0m [36m$ordinal[0m: [35mInt[0m = [31m1[0m
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mval[0m [36mN[0m: [35mEq.GEQ.N$[0m = [33mnew [0m[35mEq.GEQ.N$[0m()
[33mfinal[0m [33mmodule[0m [33mclass[0m [35mN$[0m()[33m extends[0m [35mAnyRef[0m(), [35mSerializable[0m, [35m
scala.deriving.Mirror.Product
[0m {
[33mprivate[0m [33mdef[0m [36mwriteReplace[0m(): [35mAnyRef[0m =
[33mnew [0m[35mscala.runtime.ModuleSerializationProxy[0m(classOf[Eq.GEQ.N.type])
[33mdef[0m [36mapply[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$2][0m, [35mA[0m[35m <: k[0m, [35mB[0m[35m <: k0m: [35mEq.GEQ[k, K, A, B][0m =
[33mnew [0m[35mEq.GEQ.N[0m[[35mk[0m, [35mK[0m, [35mA[0m, [35mB0m
[33mdef[0m [36munapply[0m[[35mk[0m[35m <: AnyKind[0m, [35mK[0m[35m[$2][0m, [35mA[0m[35m <: k[0m, [35mB[0m[35m <: k[0m](
[36mx$1[0m: [35mEq.GEQ.N[k, K, A, B][0m
): [35m([31mtrue[0m : Boolean)[0m = [31mtrue[0m
[33mtype[0m [35mMirroredMonoType[0m[35m = Eq.GEQ.N[?, ?, ?, ?][0m
[33mdef[0m [36mfromProduct[0m([36mx$0[0m: [35mProduct[0m): [35mEq.GEQ.N.MirroredMonoType[0m =
[33mnew [0m[35mEq.GEQ.N[0m[[35mAnyKind[0m, [35m[$2 <: AnyKind] =>> Any[0m, [35mAny[0m, [35mAny0m.
$asInstanceOf$
[[35mEq.GEQ.N.MirroredMonoType[0m]
}
[33mtype[0m [35mMirroredMonoType[0m[35m = Eq.GEQ[?, ?, ?, ?][0m
[33mdef[0m [36mordinal[0m([36mx$0[0m: [35mEq.GEQ.MirroredMonoType[0m): [35mInt[0m = x$0.ordinal
}
}
@[35mscala.annotation.internal.SourceFile[0m(
[32m"/tmp/scastie5782560974754810597/src/main/scala/main.scala"[0m
) @[35mscala.annotation.internal.Child[0m[[35mDPair0m [33msealed[0m [33mtrait[0m [35mDPair[0m[[35mk[0m[35m <: AnyKind[0m,
[35mK[0m[35m[$4][0m
, [35mV[0m[35m[$5]0m[33m extends[0m [35mObject[0m {
[33mprivate[0m [33mtype[0m [35mk[0m[35m <: AnyKind[0m
[33mprivate[0m [33mtype[0m [35mK[0m[35m[$4][0m
[33mprivate[0m [33mtype[0m +[35mV[0m[35m[$5][0m
[33mtype[0m [35mA[0m[35m <: k[0m
[33mdef[0m [36mkey[0m: [35mK[DPair.this.A][0m
[33mdef[0m [36mvalue[0m: [35mV[DPair.this.A][0m
[33mfinal[0m [33mdef[0m [36mextract[0m[[35mB[0m[35m <: k[0m]([36mk[0m: [35mK[B][0m)([33musing [0m[36mx$2[0m: [35mEq[k, K][0m): [35mOption[V[B]][0m =
matchResult7[33m[[0mOption[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx9[0m: [35mEq.GEQ[k, K, DPair.this.A, B][0m =
x$2.isEq[[35mDPair.this.A[0m, [35mB0m(k)
[33mif [0mx9.$isInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36my[0m: [35mEq.GEQ.Y[k, K, DPair.this.A][0m =
x9.$asInstanceOf$[[35mEq.GEQ.Y[k, K, DPair.this.A] @k[0m]
[33mreturn[[0mmatchResult7[33m][0m
{
Some.apply[[35mV[DPair.this.A]0m.$asInstanceOf$[[35mOption[V[B]][0m]
}
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult7[33m][0m
{
None
}
}
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mval[0m [36mDPair[0m: [35mDPair$[0m = [33mnew [0m[35mDPair$[0m()
@[35mscala.annotation.internal.SourceFile[0m(
[32m"/tmp/scastie5782560974754810597/src/main/scala/main.scala"[0m
) [33mfinal[0m [33mmodule[0m [33mclass[0m [35mDPair$[0m()[33m extends[0m [35mObject[0m(), [35mSerializable[0m {
[33mprivate[0m [33mdef[0m [36mwriteReplace[0m(): [35mAnyRef[0m =
[33mnew [0m[35mscala.runtime.ModuleSerializationProxy[0m(classOf[DPair.type])
[33mfinal[0m [33mgiven[0m [33mdef[0m [36mpair[0m[[35mk[0m[35m[0m, [35mK[0m[35m[$6][0m, [35mV[0m[35m[$7][0m, [35mC[0m[35m <: k[0m]:
[35mConversion[(K[C], V[C]), DPair[k, K, V]][0m
=
{
[33mdef[0m [36m$anonfun[0m([36mtup[0m: [35m(K[C], V[C])[0m): [35mDPair[k, K, V][0m =
{
[33mcase[0m [33mclass[0m [35mdpair[0m([36mkey[0m: [35mK[C][0m, [36mvalue[0m: [35mV[C][0m)[33m extends[0m [35mObject[0m(), [35m
DPair[k, K, V]
[0m, [35mProduct[0m, [35mSerializable[0m {
[33moverride[0m [33mdef[0m [36mhashCode[0m(): [35mInt[0m =
scala.runtime.ScalaRunTime._hashCode([33mthis[0m)
[33moverride[0m [33mdef[0m [36mequals[0m([36mx$0[0m: [35mAny[0m): [35mBoolean[0m =
[33mthis[0m.eq(x$0.$asInstanceOf$[[35mObject[0m]).||(
matchResult8[33m[[0mBoolean[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx11[0m: [35m(x$0 : Object)[0m = x$0
[33mif [0mx11.$isInstanceOf$[[35mdpair @unchecked[0m][33m then[0m
{
[33mcase[0m [33mval[0m [36mx$0[0m: [35mdpair[0m =
x11.$asInstanceOf$[[35mdpair @unchecked[0m]
[33mreturn[[0mmatchResult8[33m][0m
[33mthis[0m.key.==(x$0.key).&&([33mthis[0m.value.==(x$0.value))
}
[33m else [0m[31m()[0m
[33mreturn[[0mmatchResult8[33m][0m [31mfalse[0m
}
)
[33moverride[0m [33mdef[0m [36mtoString[0m(): [35mString[0m =
scala.runtime.ScalaRunTime._toString([33mthis[0m)
[33moverride[0m [33mdef[0m [36mcanEqual[0m([36mthat[0m: [35mAny[0m): [35mBoolean[0m =
that.isInstanceOf[[35mdpair @unchecked[0m]
[33moverride[0m [33mdef[0m [36mproductArity[0m: [35mInt[0m = [31m2[0m
[33moverride[0m [33mdef[0m [36mproductPrefix[0m: [35mString[0m = [32m"dpair"[0m
[33moverride[0m [33mdef[0m [36mproductElement[0m([36mn[0m: [35mInt[0m): [35mAny[0m =
matchResult9[33m[[0mObject[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx13[0m: [35m(n : Int)[0m = n
[33mif [0m[31m0[0m.==(x13)[33m then[0m [33mreturn[[0mmatchResult9[33m][0m [33mthis[0m._1[33m else [0m[31m()[0m
[33mif [0m[31m1[0m.==(x13)[33m then[0m [33mreturn[[0mmatchResult9[33m][0m [33mthis[0m._2[33m else [0m[31m()[0m
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33moverride[0m [33mdef[0m [36mproductElementName[0m([36mn[0m: [35mInt[0m): [35mString[0m =
matchResult10[33m[[0mString[33m]: [0m
{
[33mcase[0m [33mval[0m [36mx14[0m: [35m(n : Int)[0m = n
[33mif [0m[31m0[0m.==(x14)[33m then[0m [33mreturn[[0mmatchResult10[33m][0m [32m"key"[0m[33m else [0m[31m()[0m
[33mif [0m[31m1[0m.==(x14)[33m then[0m [33mreturn[[0mmatchResult10[33m][0m [32m"value"[0m[33m else [0m[31m()[0m
[33mthrow [0m[33mnew [0m[35mIndexOutOfBoundsException[0m(n.toString())
}
[33mdef[0m [36mkey[0m: [35mK[C][0m
[33mdef[0m [36mvalue[0m: [35mV[C][0m
[33mtype[0m [35mA[0m = [35mC[0m
[33mdef[0m [36mcopy[0m([36mkey[0m: [35mK[C][0m, [36mvalue[0m: [35mV[C][0m): [35mdpair[0m = [33mnew [0m[35mdpair[0m(key, value)
[33mdef[0m [36mcopy$default$1[0m: [35mK[C][0m =
dpair.this.key:[35m(dpair.this.key : (): Object) @uncheckedVariance[0m
[33mdef[0m [36mcopy$default$2[0m: [35mV[C][0m =
dpair.this.value:
[35m(dpair.this.value : (): Object) @uncheckedVariance[0m
[33mdef[0m [36m_1[0m: [35mK[C][0m = [33mthis[0m.key
[33mdef[0m [36m_2[0m: [35mV[C][0m = [33mthis[0m.value
}
[33mfinal[0m [33mlazy[0m [33mmodule[0m [33mdef[0m [36mdpair[0m: [35mdpair$[0m = [33mnew [0m[35mdpair$[0m()
[33mfinal[0m [33mmodule[0m [33mclass[0m [35mdpair$[0m()[33m extends[0m [35mObject[0m(), [35m((K[C], V[C]) => dpair
)
[0m, [35mSerializable[0m, [35mscala.deriving.Mirror.Product[0m {
[33mdef[0m [36mapply[0m([36mkey[0m: [35mK[C][0m, [36mvalue[0m: [35mV[C][0m): [35mdpair[0m = [33mnew [0m[35mdpair[0m(key, value)
[33mdef[0m [36munapply[0m([36mx$1[0m: [35mdpair[0m): [35mdpair[0m = x$1
[33mtype[0m [35mMirroredMonoType[0m[35m = dpair[0m
[33mdef[0m [36mfromProduct[0m([36mx$0[0m: [35mProduct[0m): [35mDPair.dpair.MirroredMonoType[0m =
[33mnew [0m[35mdpair[0m(x$0.productElement([31m0[0m).$asInstanceOf$[[35mK[C][0m],
x$0.productElement([31m1[0m).$asInstanceOf$[[35mV[C][0m]
)
}
dpair.apply(tup._1, tup._2):
[35m(DPair[k, K, V] & Product & java.io.Serializable){A = C}[0m
}
{
[33mfinal[0m [33mclass[0m [35m$anon[0m()[33m extends[0m [35mConversion[0m[[35m(K[C], V[C])[0m, [35mDPair[k, K, V]0m
{
[33mfinal[0m [33mdef[0m [36mapply[0m([36mtup[0m: [35m(K[C], V[C])[0m): [35mDPair[k, K, V][0m = $anonfun(tup)
}
[33mnew [0m[35m[35mConversion[0m {...}[0m()
}
}
}
} of class class dotty.tools.dotc.ast.Trees$PackageDef # 123861
java.lang.ClassCastException: dotty.tools.dotc.core.Types$Range cannot be cast to dotty.tools.dotc.core.Types$TypeBounds while compiling /tmp/scastie5782560974754810597/src/main/scala/main.scala