Open
Description
Compiler version
Tested in versions 3.2.1 and 3.2.0 (Scastie)
Minimized code
The code can be found here:
https://scastie.scala-lang.org/gIlQEjxzTGenDHcDmuBh9g
The offending methods is:
inline given IMapFromExpr[K, V, T <: IMap](using Type[K], Type[V], Type[T], FromExpr[K], FromExpr[V], FromExpr[T]):
FromExpr[IMap] with {
// Compiler crash
inline def unapply(x: Expr[ _ <: IMap])(using Quotes) = inline x match {
// Ok
// def unapply(x: Expr[ _ <: IMap])(using Quotes) = x match {
// Ok
// case '{ IEmpT } => Some(IEmpT)
// Ok
case '{ $x: IEmpT.type } => x.value
// case '{ $x: ICons[K, V, T] } => x.value
// Ok
case '{ ${Expr(x)}: ICons[K, V, T] } => Some(x)
case _ => None
}
}
If the non-inlined version of the method is used, it compiles.
Output (click arrow to expand)
[info] compiling 1 Scala source to /home/hmf/VSCodeProjects/sploty/out/meta/compile.dest/classes ...
exception while typing given class IMapFromExpr[K, V, T <: icollectionx.From.IMap](using
x$1: quoted.Type[K]
, x$2: quoted.Type[V], x$3: quoted.Type[T], x$4: quoted.FromExpr[K],
x$5: quoted.FromExpr[V]
, x$6: quoted.FromExpr[T]) extends Object(),
quoted.FromExpr[icollectionx.From.IMap]
{
private type K
private type V
private type T <: icollectionx.From.IMap
protected given def x$1: quoted.Type[K]
protected given def x$2: quoted.Type[V]
protected given def x$3: quoted.Type[T]
protected given def x$4: quoted.FromExpr[K]
protected given def x$5: quoted.FromExpr[V]
protected given def x$6: quoted.FromExpr[T]
def unapply(x: quoted.Expr[? <: icollectionx.From.IMap])(using
x$2: quoted.Quotes
): Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]] =
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.unapply
[
EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.IEmpT.type]](
x @ _:scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]
)
)(
'{
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.IEmpT.type & Any
]
}.apply(x$2)
)
=>
x$2.value[icollectionx.From.IEmpT.type](x)(
icollectionx.From.IEmpTFromExpr
)
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.unapply
[
EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.ICons[K, V, T]]](
quoted.Expr.unapply[icollectionx.From.ICons[K, V, T]](x @ _)(
icollectionx.From.IConsFromExpr[K, V, T](
this.icollectionx$From$IMapFromExpr$$inline$x$1
, this.icollectionx$From$IMapFromExpr$$inline$x$4,
this.icollectionx$From$IMapFromExpr$$inline$x$2
, this.icollectionx$From$IMapFromExpr$$inline$x$5,
this.icollectionx$From$IMapFromExpr$$inline$x$3
, this.icollectionx$From$IMapFromExpr$$inline$x$6)
, x$2):scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]
)
)(
'{
{
@SplicedType type x$1$_$1 = IMapFromExpr.this.x$1.Underlying
@SplicedType type x$2$_$1 = IMapFromExpr.this.x$2.Underlying
@SplicedType type x$3$_$1 = IMapFromExpr.this.x$3.Underlying
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.ICons[x$1$_$1, x$2$_$1, x$3$_$1]
]
}
}.apply(x$2)
)
=>
Some.apply[icollectionx.From.ICons[K, V, T]](x)
case _ =>
None
}
):Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]]
def icollectionx$From$IMapFromExpr$$inline$x$1: quoted.Type[K] =
IMapFromExpr.this.x$1
def icollectionx$From$IMapFromExpr$$inline$x$4: quoted.FromExpr[K] =
IMapFromExpr.this.x$4
def icollectionx$From$IMapFromExpr$$inline$x$2: quoted.Type[V] =
IMapFromExpr.this.x$2
def icollectionx$From$IMapFromExpr$$inline$x$5: quoted.FromExpr[V] =
IMapFromExpr.this.x$5
def icollectionx$From$IMapFromExpr$$inline$x$3: quoted.Type[T] =
IMapFromExpr.this.x$3
def icollectionx$From$IMapFromExpr$$inline$x$6: quoted.FromExpr[T] =
IMapFromExpr.this.x$6
} of class class dotty.tools.dotc.ast.Trees$TypeDef # -1
exception while typing @SourceFile("meta/src/icollection/FromExpr0.scala") final module class From()
extends
Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(classOf[icollectionx.From.type])
@Child[icollectionx.From.ICons] @Child[icollectionx.From.IEmpT.type] sealed
trait
IMap() extends Object {}
final lazy module case val IEmpT: icollectionx.From.IEmpT =
new icollectionx.From.IEmpT()
final module case class IEmpT() extends Object(), icollectionx.From.IMap,
Product
, Serializable, scala.deriving.Mirror.Singleton {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.IEmpT.type]
)
override def hashCode(): Int = 69580917
override def toString(): String = "IEmpT"
override def canEqual(that: Any): Boolean =
that.isInstanceOf[icollectionx.From.IEmpT @unchecked]
override def productArity: Int = 0
override def productPrefix: String = "IEmpT"
override def productElement(n: Int): Any =
matchResult1[Nothing]:
{
case val x1: (n : Int) = n
throw new IndexOutOfBoundsException(n.toString())
}
override def productElementName(n: Int): String =
matchResult2[Nothing]:
{
case val x2: (n : Int) = n
throw new IndexOutOfBoundsException(n.toString())
}
}
case class ICons[K, V, T <: icollectionx.From.IMap](key: K, value: V, tail: T)
extends
Object(), icollectionx.From.IMap, Product, Serializable {
override def hashCode(): Int = scala.runtime.ScalaRunTime._hashCode(this)
override def equals(x$0: Any): Boolean =
this.eq(x$0.$asInstanceOf[Object]).||(
matchResult3[Boolean]:
{
case val x3: (x$0 : Object) = x$0
if x3.$isInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked]
then
{
case val x$0: icollectionx.From.ICons[K, V, T] =
x3.$asInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked]
return[matchResult3]
this.key.==(x$0.key).&&(this.value.==(x$0.value)).&&(
this.tail.==(x$0.tail)
).&&(x$0.canEqual(this))
}
else ()
return[matchResult3] false
}
)
override def toString(): String = scala.runtime.ScalaRunTime._toString(this)
override def canEqual(that: Any): Boolean =
that.isInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked]
override def productArity: Int = 3
override def productPrefix: String = "ICons"
override def productElement(n: Int): Any =
matchResult4[Object]:
{
case val x5: (n : Int) = n
x5 match
{
case 0 => return[matchResult4] this._1
case 1 => return[matchResult4] this._2
case 2 => return[matchResult4] this._3
case _ => throw new IndexOutOfBoundsException(n.toString())
}
}
override def productElementName(n: Int): String =
matchResult5[String]:
{
case val x6: (n : Int) = n
x6 match
{
case 0 => return[matchResult5] "key"
case 1 => return[matchResult5] "value"
case 2 => return[matchResult5] "tail"
case _ => throw new IndexOutOfBoundsException(n.toString())
}
}
private type K
private type V
private type T <: icollectionx.From.IMap
def key: K
def value: V
def tail: T
def copy[K, V, T <: icollectionx.From.IMap](key: K, value: V, tail: T):
icollectionx.From.ICons[K, V, T]
=
new
([K, V, T <: icollectionx.From.IMap] =>>
icollectionx.From.ICons[K, V, T]
)
[K, V, T](key, value, tail)
def copy$default$1[K, V, T <: icollectionx.From.IMap]: K = ICons.this.key
def copy$default$2[K, V, T <: icollectionx.From.IMap]: V = ICons.this.value
def copy$default$3[K, V, T <: icollectionx.From.IMap]: T = ICons.this.tail
def _1: K = this.key
def _2: V = this.value
def _3: T = this.tail
}
final lazy module val ICons: icollectionx.From.ICons =
new icollectionx.From.ICons()
final module class ICons() extends AnyRef(), scala.deriving.Mirror.Product {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.ICons.type]
)
def apply[K, V, T <: icollectionx.From.IMap](key: K, value: V, tail: T):
icollectionx.From.ICons[K, V, T]
=
new
([K, V, T <: icollectionx.From.IMap] =>>
icollectionx.From.ICons[K, V, T]
)
[K, V, T](key, value, tail)
def unapply[K, V, T <: icollectionx.From.IMap](
x$1: icollectionx.From.ICons[K, V, T]
): icollectionx.From.ICons[K, V, T] = x$1
override def toString: String = "ICons"
type MirroredMonoType
= icollectionx.From.ICons[? <: AnyKind, ? <: AnyKind, ? <: AnyKind]
def fromProduct(x$0: Product): icollectionx.From.ICons.MirroredMonoType =
new icollectionx.From.ICons[Any, Any, icollectionx.From.IMap](
x$0.productElement(0)
, x$0.productElement(1),
x$0.productElement(2).$asInstanceOf[icollectionx.From.IMap]
)
}
type IEmpT = icollectionx.From.IEmpT.type
@showAsInfix() type -: =
[K, V, T <: icollectionx.From.IMap] =>> icollectionx.From.ICons[K, V, T]
extension [K, V, T <: icollectionx.From.IMap](a: (K, V)) def -:(t: T):
icollectionx.From.ICons[K, V, T]
= icollectionx.From.ICons.apply[K, V, T](a._1, a._2, t)
final lazy module val -:: icollectionx.From.-: = new icollectionx.From.-:()
final module class -:() extends Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.-:.type]
)
def unapply[K, V, T <: icollectionx.From.IMap](
x: icollectionx.From.ICons[K, V, T]
): (K, V, T) = Tuple3.apply[K, V, T](x.key, x.value, x.tail)
}
given class IMapFromExpr[K, V, T <: icollectionx.From.IMap](using
x$1: quoted.Type[K]
, x$2: quoted.Type[V], x$3: quoted.Type[T], x$4: quoted.FromExpr[K],
x$5: quoted.FromExpr[V]
, x$6: quoted.FromExpr[T]) extends Object(),
quoted.FromExpr[icollectionx.From.IMap]
{
private type K
private type V
private type T <: icollectionx.From.IMap
protected given def x$1: quoted.Type[K]
protected given def x$2: quoted.Type[V]
protected given def x$3: quoted.Type[T]
protected given def x$4: quoted.FromExpr[K]
protected given def x$5: quoted.FromExpr[V]
protected given def x$6: quoted.FromExpr[T]
def unapply(x: quoted.Expr[? <: icollectionx.From.IMap])(using
x$2: quoted.Quotes
): Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]]
=
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.unapply
[
EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.IEmpT.type]](
x @ _:scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]
)
)(
'{
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.IEmpT.type & Any
]
}.apply(x$2)
)
=>
x$2.value[icollectionx.From.IEmpT.type](x)(
icollectionx.From.IEmpTFromExpr
)
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.unapply
[
EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.ICons[K, V, T]]](
quoted.Expr.unapply[icollectionx.From.ICons[K, V, T]](x @ _)(
icollectionx.From.IConsFromExpr[K, V, T](
this.icollectionx$From$IMapFromExpr$$inline$x$1
, this.icollectionx$From$IMapFromExpr$$inline$x$4,
this.icollectionx$From$IMapFromExpr$$inline$x$2
, this.icollectionx$From$IMapFromExpr$$inline$x$5,
this.icollectionx$From$IMapFromExpr$$inline$x$3
, this.icollectionx$From$IMapFromExpr$$inline$x$6)
, x$2):scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]
)
)(
'{
{
@SplicedType type x$1$_$1 = IMapFromExpr.this.x$1.Underlying
@SplicedType type x$2$_$1 = IMapFromExpr.this.x$2.Underlying
@SplicedType type x$3$_$1 = IMapFromExpr.this.x$3.Underlying
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.ICons[x$1$_$1, x$2$_$1, x$3$_$1]
]
}
}.apply(x$2)
)
=>
Some.apply[icollectionx.From.ICons[K, V, T]](x)
case _ =>
None
}
):Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]]
def icollectionx$From$IMapFromExpr$$inline$x$1: quoted.Type[K] =
IMapFromExpr.this.x$1
def icollectionx$From$IMapFromExpr$$inline$x$4: quoted.FromExpr[K] =
IMapFromExpr.this.x$4
def icollectionx$From$IMapFromExpr$$inline$x$2: quoted.Type[V] =
IMapFromExpr.this.x$2
def icollectionx$From$IMapFromExpr$$inline$x$5: quoted.FromExpr[V] =
IMapFromExpr.this.x$5
def icollectionx$From$IMapFromExpr$$inline$x$3: quoted.Type[T] =
IMapFromExpr.this.x$3
def icollectionx$From$IMapFromExpr$$inline$x$6: quoted.FromExpr[T] =
IMapFromExpr.this.x$6
}
private final inline given def IMapFromExpr[K, V, T <: icollectionx.From.IMap]
(
using x$1: quoted.Type[K], x$2: quoted.Type[V], x$3: quoted.Type[T],
x$4: quoted.FromExpr[K]
, x$5: quoted.FromExpr[V], x$6: quoted.FromExpr[T]):
icollectionx.From.IMapFromExpr[K, V, T]
=
scala.compiletime.package$package.erasedValue[
icollectionx.From.IMapFromExpr[K, V, T]
]
given class IEmpTFromExpr() extends Object(),
quoted.FromExpr[icollectionx.From.IEmpT.type]
{
def unapply(x: quoted.Expr[icollectionx.From.IEmpT.type])(using
x$2: quoted.Quotes
): Option[icollectionx.From.IEmpT.type] =
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type, EmptyTuple.type](EmptyTuple)(
'{icollectionx.From.IEmpT}.apply(x$2)
)
=>
Some.apply[icollectionx.From.IEmpT.type](icollectionx.From.IEmpT)
case _ =>
None
}
):Option[icollectionx.From.IEmpT.type]
private def unapply$retainedBody(
x: quoted.Expr[icollectionx.From.IEmpT.type]
)(using x$2: quoted.Quotes): Option[icollectionx.From.IEmpT.type] =
None:Option[icollectionx.From.IEmpT.type]
}
private final inline given def IEmpTFromExpr: icollectionx.From.IEmpTFromExpr
=
scala.compiletime.package$package.erasedValue[icollectionx.From.IEmpTFromExpr]
given class IConsFromExpr[K, V, T <: icollectionx.From.IMap](
implicit evidence$1: quoted.Type[K]
, implicit evidence$2: quoted.FromExpr[K], implicit evidence$3: quoted.Type[V]
,
implicit evidence$4: quoted.FromExpr[V], x$1: quoted.Type[T],
x$2: quoted.FromExpr[T]
) extends Object(), quoted.FromExpr[icollectionx.From.ICons[K, V, T]] {
private type K
private type V
private type T <: icollectionx.From.IMap
private implicit val evidence$1: quoted.Type[K]
private implicit val evidence$2: quoted.FromExpr[K]
private implicit val evidence$3: quoted.Type[V]
private implicit val evidence$4: quoted.FromExpr[V]
protected given def x$1: quoted.Type[T]
protected given def x$2: quoted.FromExpr[T]
def unapply(x: quoted.Expr[icollectionx.From.ICons[K, V, T]])(using
x$2: quoted.Quotes
): Option[icollectionx.From.ICons[K, V, T]] =
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type,
(scala.quoted.Expr[K], scala.quoted.Expr[V], scala.quoted.Expr[T])
](
Tuple3.unapply[scala.quoted.Expr[K], scala.quoted.Expr[V],
scala.quoted.Expr[T]
](
quoted.Expr.unapply[K](k @ _)(
this.icollectionx$From$IConsFromExpr$$inline$evidence$2
, x$2)
,
quoted.Expr.unapply[V](v @ _)(
this.icollectionx$From$IConsFromExpr$$inline$evidence$4
, x$2)
,
quoted.Expr.unapply[T](tl @ _)(
this.icollectionx$From$IConsFromExpr$$inline$x$2
, x$2)
)
)(
'{
{
@SplicedType type evidence$1$_$1
= IConsFromExpr.this.evidence$1.Underlying
@SplicedType type evidence$3$_$1
= IConsFromExpr.this.evidence$3.Underlying
@SplicedType type x$1$_$2 = IConsFromExpr.this.x$1.Underlying
icollectionx.From.ICons.apply[evidence$1$_$1, evidence$3$_$1,
x$1$_$2
](scala.quoted.runtime.Patterns.patternHole[evidence$1$_$1],
scala.quoted.runtime.Patterns.patternHole[evidence$3$_$1]
, scala.quoted.runtime.Patterns.patternHole[x$1$_$2])
}
}.apply(x$2)
)
=>
Some.apply[icollectionx.From.ICons[K, V, T]](
icollectionx.From.ICons.apply[K, V, T](k, v, tl)
)
case _ =>
None
}
):Option[icollectionx.From.ICons[K, V, T]]
private def unapply$retainedBody(
x: quoted.Expr[icollectionx.From.ICons[K, V, T]]
)(using x$2: quoted.Quotes): Option[icollectionx.From.ICons[K, V, T]] =
None:Option[icollectionx.From.ICons[K, V, T]]
final def icollectionx$From$IConsFromExpr$$inline$evidence$2:
quoted.FromExpr[K]
= IConsFromExpr.this.evidence$2
final def icollectionx$From$IConsFromExpr$$inline$evidence$4:
quoted.FromExpr[V]
= IConsFromExpr.this.evidence$4
def icollectionx$From$IConsFromExpr$$inline$x$2: quoted.FromExpr[T] =
IConsFromExpr.this.x$2
}
private final inline given def IConsFromExpr[K, V, T <: icollectionx.From.IMap
]
(implicit evidence$1: quoted.Type[K], implicit evidence$2: quoted.FromExpr[K]
,
implicit evidence$3: quoted.Type[V], implicit evidence$4: quoted.FromExpr[V],
x$1: quoted.Type[T]
, x$2: quoted.FromExpr[T])
: icollectionx.From.IConsFromExpr[K, V, T] =
scala.compiletime.package$package.erasedValue[
icollectionx.From.IConsFromExpr[K, V, T]
]
def testFromExprImpl0[K, V](x: quoted.Expr[(K, V)])(using x$2: quoted.Type[K]
,
x$3: quoted.FromExpr[K], x$4: quoted.Type[V], x$5: quoted.FromExpr[V],
x$6: quoted.Quotes
): quoted.Expr[Int] =
{
val v: (K, V) =
x$6.valueOrAbort[(K, V)](x)(
quoted.FromExpr.Tuple2FromExpr[K, V](x$2, x$4, x$3, x$5)
)
scala.quoted.ToExpr.IntToExpr[Int].apply(1)(x$6)
}
} of class class dotty.tools.dotc.ast.Trees$TypeDef # -1
exception while typing package icollectionx {
import scala.quoted.*
import scala.annotation.showAsInfix
final lazy module val From: icollectionx.From = new icollectionx.From()
@SourceFile("meta/src/icollection/FromExpr0.scala") final module class From()
extends
Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(classOf[icollectionx.From.type]
)
@Child[icollectionx.From.ICons] @Child[icollectionx.From.IEmpT.type] sealed
trait
IMap() extends Object {}
final lazy module case val IEmpT: icollectionx.From.IEmpT =
new icollectionx.From.IEmpT()
final module case class IEmpT() extends Object(), icollectionx.From.IMap,
Product
, Serializable, scala.deriving.Mirror.Singleton {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.IEmpT.type]
)
override def hashCode(): Int = 69580917
override def toString(): String = "IEmpT"
override def canEqual(that: Any): Boolean =
that.isInstanceOf[icollectionx.From.IEmpT @unchecked]
override def productArity: Int = 0
override def productPrefix: String = "IEmpT"
override def productElement(n: Int): Any =
matchResult1[Nothing]:
{
case val x1: (n : Int) = n
throw new IndexOutOfBoundsException(n.toString())
}
override def productElementName(n: Int): String =
matchResult2[Nothing]:
{
case val x2: (n : Int) = n
throw new IndexOutOfBoundsException(n.toString())
}
}
case class ICons[K, V, T <: icollectionx.From.IMap](key: K, value: V,
tail: T
) extends Object(), icollectionx.From.IMap, Product, Serializable {
override def hashCode(): Int = scala.runtime.ScalaRunTime._hashCode(this)
override def equals(x$0: Any): Boolean =
this.eq(x$0.$asInstanceOf[Object]).||(
matchResult3[Boolean]:
{
case val x3: (x$0 : Object) = x$0
if x3.$isInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked]
then
{
case val x$0: icollectionx.From.ICons[K, V, T] =
x3.$asInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked
]
return[matchResult3]
this.key.==(x$0.key).&&(this.value.==(x$0.value)).&&(
this.tail.==(x$0.tail)
).&&(x$0.canEqual(this))
}
else ()
return[matchResult3] false
}
)
override def toString(): String =
scala.runtime.ScalaRunTime._toString(this)
override def canEqual(that: Any): Boolean =
that.isInstanceOf[icollectionx.From.ICons[K, V, T] @unchecked]
override def productArity: Int = 3
override def productPrefix: String = "ICons"
override def productElement(n: Int): Any =
matchResult4[Object]:
{
case val x5: (n : Int) = n
x5 match
{
case 0 => return[matchResult4] this._1
case 1 => return[matchResult4] this._2
case 2 => return[matchResult4] this._3
case _ => throw new IndexOutOfBoundsException(n.toString())
}
}
override def productElementName(n: Int): String =
matchResult5[String]:
{
case val x6: (n : Int) = n
x6 match
{
case 0 => return[matchResult5] "key"
case 1 => return[matchResult5] "value"
case 2 => return[matchResult5] "tail"
case _ => throw new IndexOutOfBoundsException(n.toString())
}
}
private type K
private type V
private type T <: icollectionx.From.IMap
def key: K
def value: V
def tail: T
def copy[K, V, T <: icollectionx.From.IMap](key: K, value: V, tail: T):
icollectionx.From.ICons[K, V, T]
=
new
([K, V, T <: icollectionx.From.IMap] =>>
icollectionx.From.ICons[K, V, T]
)
[K, V, T](key, value, tail)
def copy$default$1[K, V, T <: icollectionx.From.IMap]: K = ICons.this.key
def copy$default$2[K, V, T <: icollectionx.From.IMap]: V =
ICons.this.value
def copy$default$3[K, V, T <: icollectionx.From.IMap]: T = ICons.this.tail
def _1: K = this.key
def _2: V = this.value
def _3: T = this.tail
}
final lazy module val ICons: icollectionx.From.ICons =
new icollectionx.From.ICons()
final module class ICons() extends AnyRef(), scala.deriving.Mirror.Product {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.ICons.type]
)
def apply[K, V, T <: icollectionx.From.IMap](key: K, value: V, tail: T):
icollectionx.From.ICons[K, V, T]
=
new
([K, V, T <: icollectionx.From.IMap] =>>
icollectionx.From.ICons[K, V, T]
)
[K, V, T](key, value, tail)
def unapply[K, V, T <: icollectionx.From.IMap](
x$1: icollectionx.From.ICons[K, V, T]
): icollectionx.From.ICons[K, V, T] = x$1
override def toString: String = "ICons"
type MirroredMonoType
= icollectionx.From.ICons[? <: AnyKind, ? <: AnyKind, ? <: AnyKind]
def fromProduct(x$0: Product): icollectionx.From.ICons.MirroredMonoType =
new icollectionx.From.ICons[Any, Any, icollectionx.From.IMap](
x$0.productElement(0)
, x$0.productElement(1),
x$0.productElement(2).$asInstanceOf[icollectionx.From.IMap]
)
}
type IEmpT = icollectionx.From.IEmpT.type
@showAsInfix() type -: =
[K, V, T <: icollectionx.From.IMap] =>> icollectionx.From.ICons[K, V, T]
extension [K, V, T <: icollectionx.From.IMap](a: (K, V)) def -:(t: T):
icollectionx.From.ICons[K, V, T]
= icollectionx.From.ICons.apply[K, V, T](a._1, a._2, t)
final lazy module val -:: icollectionx.From.-: = new icollectionx.From.-:()
final module class -:() extends Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(
classOf[icollectionx.From.-:.type]
)
def unapply[K, V, T <: icollectionx.From.IMap](
x: icollectionx.From.ICons[K, V, T]
): (K, V, T) = Tuple3.apply[K, V, T](x.key, x.value, x.tail)
}
given class IMapFromExpr[K, V, T <: icollectionx.From.IMap](using
x$1: quoted.Type[K]
, x$2: quoted.Type[V], x$3: quoted.Type[T], x$4: quoted.FromExpr[K],
x$5: quoted.FromExpr[V]
, x$6: quoted.FromExpr[T]) extends Object(),
quoted.FromExpr[icollectionx.From.IMap]
{
private type K
private type V
private type T <: icollectionx.From.IMap
protected given def x$1: quoted.Type[K]
protected given def x$2: quoted.Type[V]
protected given def x$3: quoted.Type[T]
protected given def x$4: quoted.FromExpr[K]
protected given def x$5: quoted.FromExpr[V]
protected given def x$6: quoted.FromExpr[T]
def unapply(x: quoted.Expr[? <: icollectionx.From.IMap])(using
x$2: quoted.Quotes
): Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]]
=
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.IEmpT.type]](
x @ _:scala.quoted.Expr[icollectionx.From.IEmpT.type & Any]
)
)(
'{
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.IEmpT.type & Any
]
}.apply(x$2)
)
=>
x$2.value[icollectionx.From.IEmpT.type](x)(
icollectionx.From.IEmpTFromExpr
)
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type,
Tuple1[scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]]
](
Tuple1.unapply[scala.quoted.Expr[icollectionx.From.ICons[K, V, T]]
]
(
quoted.Expr.unapply[icollectionx.From.ICons[K, V, T]](x @ _)(
icollectionx.From.IConsFromExpr[K, V, T](
this.icollectionx$From$IMapFromExpr$$inline$x$1
, this.icollectionx$From$IMapFromExpr$$inline$x$4,
this.icollectionx$From$IMapFromExpr$$inline$x$2
, this.icollectionx$From$IMapFromExpr$$inline$x$5,
this.icollectionx$From$IMapFromExpr$$inline$x$3
, this.icollectionx$From$IMapFromExpr$$inline$x$6)
, x$2):scala.quoted.Expr[icollectionx.From.ICons[K, V, T] & Any]
)
)(
'{
{
@SplicedType type x$1$_$1 = IMapFromExpr.this.x$1.Underlying
@SplicedType type x$2$_$1 = IMapFromExpr.this.x$2.Underlying
@SplicedType type x$3$_$1 = IMapFromExpr.this.x$3.Underlying
scala.quoted.runtime.Patterns.patternHole[
icollectionx.From.ICons[x$1$_$1, x$2$_$1, x$3$_$1]
]
}
}.apply(x$2)
)
=>
Some.apply[icollectionx.From.ICons[K, V, T]](x)
case _ =>
None
}
):Option[icollectionx.From.IEmpT.type | icollectionx.From.ICons[K, V, T]]
def icollectionx$From$IMapFromExpr$$inline$x$1: quoted.Type[K] =
IMapFromExpr.this.x$1
def icollectionx$From$IMapFromExpr$$inline$x$4: quoted.FromExpr[K] =
IMapFromExpr.this.x$4
def icollectionx$From$IMapFromExpr$$inline$x$2: quoted.Type[V] =
IMapFromExpr.this.x$2
def icollectionx$From$IMapFromExpr$$inline$x$5: quoted.FromExpr[V] =
IMapFromExpr.this.x$5
def icollectionx$From$IMapFromExpr$$inline$x$3: quoted.Type[T] =
IMapFromExpr.this.x$3
def icollectionx$From$IMapFromExpr$$inline$x$6: quoted.FromExpr[T] =
IMapFromExpr.this.x$6
}
private final inline given def IMapFromExpr[K, V,
T <: icollectionx.From.IMap
](using x$1: quoted.Type[K], x$2: quoted.Type[V], x$3: quoted.Type[T],
x$4: quoted.FromExpr[K]
, x$5: quoted.FromExpr[V], x$6: quoted.FromExpr[T]):
icollectionx.From.IMapFromExpr[K, V, T]
=
scala.compiletime.package$package.erasedValue[
icollectionx.From.IMapFromExpr[K, V, T]
]
given class IEmpTFromExpr() extends Object(),
quoted.FromExpr[icollectionx.From.IEmpT.type]
{
def unapply(x: quoted.Expr[icollectionx.From.IEmpT.type])(using
x$2: quoted.Quotes
): Option[icollectionx.From.IEmpT.type] =
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type, EmptyTuple.type](EmptyTuple)(
'{icollectionx.From.IEmpT}.apply(x$2)
)
=>
Some.apply[icollectionx.From.IEmpT.type](icollectionx.From.IEmpT)
case _ =>
None
}
):Option[icollectionx.From.IEmpT.type]
private def unapply$retainedBody(
x: quoted.Expr[icollectionx.From.IEmpT.type]
)(using x$2: quoted.Quotes): Option[icollectionx.From.IEmpT.type] =
None:Option[icollectionx.From.IEmpT.type]
}
private final inline given def IEmpTFromExpr:
icollectionx.From.IEmpTFromExpr
=
scala.compiletime.package$package.erasedValue[
icollectionx.From.IEmpTFromExpr
]
given class IConsFromExpr[K, V, T <: icollectionx.From.IMap](
implicit evidence$1: quoted.Type[K]
, implicit evidence$2: quoted.FromExpr[K],
implicit evidence$3: quoted.Type[V]
, implicit evidence$4: quoted.FromExpr[V], x$1: quoted.Type[T],
x$2: quoted.FromExpr[T]
) extends Object(), quoted.FromExpr[icollectionx.From.ICons[K, V, T]] {
private type K
private type V
private type T <: icollectionx.From.IMap
private implicit val evidence$1: quoted.Type[K]
private implicit val evidence$2: quoted.FromExpr[K]
private implicit val evidence$3: quoted.Type[V]
private implicit val evidence$4: quoted.FromExpr[V]
protected given def x$1: quoted.Type[T]
protected given def x$2: quoted.FromExpr[T]
def unapply(x: quoted.Expr[icollectionx.From.ICons[K, V, T]])(using
x$2: quoted.Quotes
): Option[icollectionx.From.ICons[K, V, T]] =
(inline x match
{
case
x$2.asInstanceOf[scala.quoted.runtime.QuoteMatching].ExprMatch.
unapply
[EmptyTuple.type,
(scala.quoted.Expr[K], scala.quoted.Expr[V],
scala.quoted.Expr[T]
)
](
Tuple3.unapply[scala.quoted.Expr[K], scala.quoted.Expr[V],
scala.quoted.Expr[T]
](
quoted.Expr.unapply[K](k @ _)(
this.icollectionx$From$IConsFromExpr$$inline$evidence$2
, x$2)
,
quoted.Expr.unapply[V](v @ _)(
this.icollectionx$From$IConsFromExpr$$inline$evidence$4
, x$2)
,
quoted.Expr.unapply[T](tl @ _)(
this.icollectionx$From$IConsFromExpr$$inline$x$2
, x$2)
)
)(
'{
{
@SplicedType type evidence$1$_$1
= IConsFromExpr.this.evidence$1.Underlying
@SplicedType type evidence$3$_$1
= IConsFromExpr.this.evidence$3.Underlying
@SplicedType type x$1$_$2
= IConsFromExpr.this.x$1.Underlying
icollectionx.From.ICons.apply[evidence$1$_$1, evidence$3$_$1
,
x$1$_$2](
scala.quoted.runtime.Patterns.patternHole[evidence$1$_$1]
, scala.quoted.runtime.Patterns.patternHole[evidence$3$_$1]
,
scala.quoted.runtime.Patterns.patternHole[x$1$_$2])
}
}.apply(x$2)
)
=>
Some.apply[icollectionx.From.ICons[K, V, T]](
icollectionx.From.ICons.apply[K, V, T](k, v, tl)
)
case _ =>
None
}
):Option[icollectionx.From.ICons[K, V, T]]
private def unapply$retainedBody(
x: quoted.Expr[icollectionx.From.ICons[K, V, T]]
)(using x$2: quoted.Quotes): Option[icollectionx.From.ICons[K, V, T]] =
None:Option[icollectionx.From.ICons[K, V, T]]
final def icollectionx$From$IConsFromExpr$$inline$evidence$2:
quoted.FromExpr[K]
= IConsFromExpr.this.evidence$2
final def icollectionx$From$IConsFromExpr$$inline$evidence$4:
quoted.FromExpr[V]
= IConsFromExpr.this.evidence$4
def icollectionx$From$IConsFromExpr$$inline$x$2: quoted.FromExpr[T] =
IConsFromExpr.this.x$2
}
private final inline given def IConsFromExpr[K, V,
T <: icollectionx.From.IMap
](implicit evidence$1: quoted.Type[K],
implicit evidence$2: quoted.FromExpr[K]
, implicit evidence$3: quoted.Type[V],
implicit evidence$4: quoted.FromExpr[V]
, x$1: quoted.Type[T], x$2: quoted.FromExpr[T]):
icollectionx.From.IConsFromExpr[K, V, T]
=
scala.compiletime.package$package.erasedValue[
icollectionx.From.IConsFromExpr[K, V, T]
]
def testFromExprImpl0[K, V](x: quoted.Expr[(K, V)])(using
x$2: quoted.Type[K]
, x$3: quoted.FromExpr[K], x$4: quoted.Type[V], x$5: quoted.FromExpr[V],
x$6: quoted.Quotes
): quoted.Expr[Int] =
{
val v: (K, V) =
x$6.valueOrAbort[(K, V)](x)(
quoted.FromExpr.Tuple2FromExpr[K, V](x$2, x$4, x$3, x$5)
)
scala.quoted.ToExpr.IntToExpr[Int].apply(1)(x$6)
}
}
} of class class dotty.tools.dotc.ast.Trees$PackageDef # -1
java.util.NoSuchElementException: key not found: method unapply while running erasure on /home/hmf/VSCodeProjects/sploty/meta/src/icollection/FromExpr0.scala
[info] exception occurred while compiling /home/hmf/VSCodeProjects/sploty/meta/src/icollection/FromExpr0.scala
java.util.NoSuchElementException: key not found: method unapply while compiling /home/hmf/VSCodeProjects/sploty/meta/src/icollection/FromExpr0.scala
[error] ## Exception when compiling 28 sources to /home/hmf/VSCodeProjects/sploty/out/meta/compile.dest/classes
[error] java.util.NoSuchElementException: key not found: method unapply
[error] scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:223)
[error] scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:219)
[error] dotty.tools.dotc.transform.Erasure$Typer.addRetainedInlineBodies$$anonfun$1(Erasure.scala:1004)
[error] scala.collection.immutable.List.mapConserve(List.scala:472)
[error] dotty.tools.dotc.transform.Erasure$Typer.addRetainedInlineBodies(Erasure.scala:1015)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1039)
[error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2556)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1032)
[error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2908)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2912)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2982)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3076)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3126)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2556)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1032)
[error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2908)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2912)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2982)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3076)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3126)
[error] dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
[error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2687)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2953)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2983)
[error] dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3170)
[error] dotty.tools.dotc.transform.Erasure.run(Erasure.scala:144)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:316)
[error] scala.collection.immutable.List.map(List.scala:246)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:320)
[error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:233)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
[error] dotty.tools.dotc.Run.runPhases$1(Run.scala:244)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:252)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:261)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:261)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:185)
[error] dotty.tools.dotc.Run.compile(Run.scala:169)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:35)
[error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88)
[error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:179)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:177)
[error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:463)
[error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
[error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:418)
[error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506)
[error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:405)
[error] sbt.internal.inc.Incremental$.apply(Incremental.scala:171)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
[error] mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:561)
[error] mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:339)
[error] mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
[error] mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:421)
[error] mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:338)
[error] mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:306)
[error] mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:198)
[error] mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
[error] mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:631)
[error] scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
[error] scala.Console$.withErr(Console.scala:193)
[error] mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:631)
[error] scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
[error] scala.Console$.withOut(Console.scala:164)
[error] mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:630)
[error] scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
[error] scala.Console$.withIn(Console.scala:227)
[error] mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:629)
[error] mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:590)
[error] scala.collection.immutable.Vector.foreach(Vector.scala:1895)
[error] mill.eval.Evaluator.evaluateGroup(Evaluator.scala:590)
[error] mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:482)
[error] scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
[error] mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:473)
[error] mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
[error] scala.collection.IterableOnceOps.foreach(IterableOnce.scala:575)
[error] scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:573)
[error] scala.collection.AbstractIterator.foreach(Iterator.scala:1300)
[error] mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
[error] mill.eval.Evaluator.evaluate(Evaluator.scala:162)
[error] mill.main.RunScript$.evaluateNamed(RunScript.scala:363)
[error] mill.main.RunScript$.evaluate(RunScript.scala:349)
[error] mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
[error] scala.util.Either.map(Either.scala:382)
[error] mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
[error] mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
[error] ammonite.util.Res$Success.flatMap(Res.scala:62)
[error] mill.main.RunScript$.runScript(RunScript.scala:104)
[error] mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
[error] mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
[error] mill.main.MainRunner.runScript(MainRunner.scala:92)
[error] mill.MillMain$.main0(MillMain.scala:320)
[error] mill.MillMain$.main(MillMain.scala:52)
[error] mill.MillMain.main(MillMain.scala)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] java.base/java.lang.reflect.Method.invoke(Method.java:568)
[error] mill.main.client.IsolatedMillMainLoader.runMain(IsolatedMillMainLoader.java:58)
[error] mill.main.client.MillClientMain.main(MillClientMain.java:64)
[error]
1 targets failed
meta.compile java.util.NoSuchElementException: key not found: method unapply
scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:223)
scala.collection.immutable.Map$EmptyMap$.apply(Map.scala:219)
dotty.tools.dotc.transform.Erasure$Typer.addRetainedInlineBodies$$anonfun$1(Erasure.scala:1004)
scala.collection.immutable.List.mapConserve(List.scala:472)
dotty.tools.dotc.transform.Erasure$Typer.addRetainedInlineBodies(Erasure.scala:1015)
dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1039)
dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2556)
dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1032)
dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2908)
dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2912)
dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2982)
dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3076)
dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3126)
dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2556)
dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1032)
dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2908)
dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2912)
dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2982)
dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3076)
dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3126)
dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1043)
dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2687)
dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2953)
dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2983)
dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:126)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3050)
dotty.tools.dotc.typer.Typer.typed(Typer.scala:3054)
dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3170)
dotty.tools.dotc.transform.Erasure.run(Erasure.scala:144)
dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:316)
scala.collection.immutable.List.map(List.scala:246)
dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:320)
dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:233)
scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
dotty.tools.dotc.Run.runPhases$1(Run.scala:244)
dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:252)
dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:261)
dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
dotty.tools.dotc.Run.compileUnits(Run.scala:261)
dotty.tools.dotc.Run.compileSources(Run.scala:185)
dotty.tools.dotc.Run.compile(Run.scala:169)
dotty.tools.dotc.Driver.doCompile(Driver.scala:35)
dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88)
dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248)
sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183)
sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534)
sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:179)
sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:177)
sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:463)
sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:418)
sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506)
sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:405)
sbt.internal.inc.Incremental$.apply(Incremental.scala:171)
sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488)
sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425)
sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:561)
mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:339)
mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:421)
mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:338)
mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:306)
mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:198)
mill.define.Task$TraverseCtx.evaluate(Task.scala:380)