Closed
Description
Compiler version
master- commit 16f9b22
the crash doesn't happen on the latest nightly 3.1.2-RC1-bin-20211102-82172ed-NIGHTLY
Minimized code
def example =
(1,2).map[[_] =>> Int]([C] => (x1: C) => x1 match {
case x2: ([V] => () => Int) =>
x2[Int]()
})
Output (click arrow to expand)
-- Unchecked Warning: tests/pos/i13934.scala:3:9 -------------------------------
3 | case x2: ([V] => () => Int) =>
| ^
| the type test for [V] => () => Int cannot be checked at runtime
exception while typing x2.apply of class class dotty.tools.dotc.ast.Trees$Select # -1
exception while typing x2.apply[Int] of class class dotty.tools.dotc.ast.Trees$TypeApply # -1
exception while typing x2.apply[Int]() of class class dotty.tools.dotc.ast.Trees$Apply # -1
exception while typing {
x2.apply[Int]()
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing return[matchResult1]
{
x2.apply[Int]()
} of class class dotty.tools.dotc.ast.Trees$Return # -1
exception while typing {
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[C & ([V] => () => Int)]
return[matchResult1]
{
x2.apply[Int]()
}
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[C & ([V] => () => Int)]
return[matchResult1]
{
x2.apply[Int]()
}
}
else () of class class dotty.tools.dotc.ast.Trees$If # -1
exception while typing {
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[C & ([V] => () => Int)]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
} of class class dotty.tools.dotc.ast.Trees$Labeled # -1
exception while typing def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
} of class class dotty.tools.dotc.ast.Trees$DefDef # -1
exception while typing final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
} of class class dotty.tools.dotc.ast.Trees$TypeDef # -1
exception while typing {
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
} of class class dotty.tools.dotc.ast.Trees$Block # -1
exception while typing val f$proxy1: [C] => (C) => Int =
{
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
} of class class dotty.tools.dotc.ast.Trees$ValDef # -1
exception while typing {
val Tuple_this: (Int, Int) = Tuple2.apply[Int, Int](1, 2)
val f$proxy1: [C] => (C) => Int =
{
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
}
runtime.Tuples.map[[_] =>> Int](Tuple_this, f$proxy1).asInstanceOf[
Int *: Int *: EmptyTuple
]:Int *: Int *: EmptyTuple
} of class class dotty.tools.dotc.ast.Trees$Inlined # -1
exception while typing def example: Int *: Int *: EmptyTuple =
{
val Tuple_this: (Int, Int) = Tuple2.apply[Int, Int](1, 2)
val f$proxy1: [C] => (C) => Int =
{
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
}
runtime.Tuples.map[[_] =>> Int](Tuple_this, f$proxy1).asInstanceOf[
Int *: Int *: EmptyTuple
]:Int *: Int *: EmptyTuple
} of class class dotty.tools.dotc.ast.Trees$DefDef # -1
exception while typing @SourceFile("tests/pos/i13934.scala") final module class i13934$package()
extends
Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(classOf[i13934$package.type])
def example: Int *: Int *: EmptyTuple =
{
val Tuple_this: (Int, Int) = Tuple2.apply[Int, Int](1, 2)
val f$proxy1: [C] => (C) => Int =
{
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
}
runtime.Tuples.map[[_] =>> Int](Tuple_this, f$proxy1).asInstanceOf[
Int *: Int *: EmptyTuple
]:Int *: Int *: EmptyTuple
}
} of class class dotty.tools.dotc.ast.Trees$TypeDef # -1
exception while typing package <empty> {
final lazy module val i13934$package: i13934$package = new i13934$package()
@SourceFile("tests/pos/i13934.scala") final module class i13934$package()
extends
Object() {
private def writeReplace(): AnyRef =
new scala.runtime.ModuleSerializationProxy(classOf[i13934$package.type])
def example: Int *: Int *: EmptyTuple =
{
val Tuple_this: (Int, Int) = Tuple2.apply[Int, Int](1, 2)
val f$proxy1: [C] => (C) => Int =
{
final class $anon() extends Object(), PolyFunction {
def apply[C](x1: C): Int =
matchResult1[Int]:
{
case val x1: (x1 : Object) = x1
if x1.$isInstanceOf[[V] => () => Int] then
{
case val x2: C & ([V] => () => Int) =
x1.$asInstanceOf[[V] => () => Int].$asInstanceOf[
C & ([V] => () => Int)
]
return[matchResult1]
{
x2.apply[Int]()
}
}
else ()
throw new MatchError(x1)
}
}
new Object with PolyFunction {...}():([C] => (C) => Int)
}
runtime.Tuples.map[[_] =>> Int](Tuple_this, f$proxy1).asInstanceOf[
Int *: Int *: EmptyTuple
]:Int *: Int *: EmptyTuple
}
}
} of class class dotty.tools.dotc.ast.Trees$PackageDef # -1
exception occurred while compiling tests/pos/i13934.scala
java.lang.AssertionError: assertion failed: <none> while compiling tests/pos/i13934.scala
Exception in thread "main" java.lang.AssertionError: assertion failed: <none>
at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
at dotty.tools.dotc.transform.Erasure$Typer.typedSelect(Erasure.scala:734)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2739)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.transform.Erasure$Typer.typedTypeApply(Erasure.scala:828)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2788)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.transform.Erasure$Typer.typedApply(Erasure.scala:850)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2769)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1054)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2777)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.typedReturn(Typer.scala:1725)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2784)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1054)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2777)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.$anonfun$13(Typer.scala:1119)
at dotty.tools.dotc.typer.Applications.harmonic(Applications.scala:2186)
at dotty.tools.dotc.typer.Applications.harmonic$(Applications.scala:317)
at dotty.tools.dotc.typer.Typer.harmonic(Typer.scala:107)
at dotty.tools.dotc.typer.Typer.typedIf(Typer.scala:1122)
at dotty.tools.dotc.transform.Erasure$Typer.typedIf(Erasure.scala:897)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2778)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2950)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1048)
at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1052)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2777)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedLabeled(Typer.scala:1679)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2762)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.$anonfun$46(Typer.scala:2216)
at dotty.tools.dotc.typer.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:238)
at dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2216)
at dotty.tools.dotc.transform.Erasure$Typer.typedDefDef(Erasure.scala:968)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2746)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2923)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2414)
at dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1056)
at dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2757)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2761)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2923)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1048)
at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1052)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2777)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2152)
at dotty.tools.dotc.transform.Erasure$Typer.typedValDef(Erasure.scala:921)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2743)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2923)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1048)
at dotty.tools.dotc.typer.Typer.typedInlined(Typer.scala:1815)
at dotty.tools.dotc.transform.Erasure$Typer.typedInlined(Erasure.scala:912)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2791)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.typer.Typer.$anonfun$46(Typer.scala:2216)
at dotty.tools.dotc.typer.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:238)
at dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2216)
at dotty.tools.dotc.transform.Erasure$Typer.typedDefDef(Erasure.scala:968)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2746)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2923)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2414)
at dotty.tools.dotc.transform.Erasure$Typer.typedClassDef(Erasure.scala:1056)
at dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:2757)
at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:2761)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2831)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:2923)
at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:2973)
at dotty.tools.dotc.transform.Erasure$Typer.typedStats(Erasure.scala:1066)
at dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2541)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2802)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2832)
at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:121)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2897)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2901)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3017)
at dotty.tools.dotc.transform.Erasure.run(Erasure.scala:132)
at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:308)
at scala.collection.immutable.List.map(List.scala:246)
at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:309)
at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:261)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at dotty.tools.dotc.Run.runPhases$1(Run.scala:272)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:280)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
at dotty.tools.dotc.Run.compileUnits(Run.scala:289)
at dotty.tools.dotc.Run.compileSources(Run.scala:222)
at dotty.tools.dotc.Run.compile(Run.scala:206)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:39)
at dotty.tools.dotc.Driver.process(Driver.scala:199)
at dotty.tools.dotc.Driver.process(Driver.scala:167)
at dotty.tools.dotc.Driver.process(Driver.scala:179)
at dotty.tools.dotc.Driver.main(Driver.scala:209)
at dotty.tools.dotc.Main.main(Main.scala)