Open
Description
Compiler version
3.4.2
3.5.0-RC2
Minimized code
(note, that scalajs should be enabled and -Ycheck:all is essential)
package x
import scala.util.*
import scala.scalajs.js.{JavaScriptException, Thenable}
import scalajs.*
case class JSPromiseWrapper[A](val jsPromise: js.Promise[Either[A,JSPromiseWrapper[A]]]) {
def flatMapTry[B](f: Try[A] => JSPromiseWrapper[B]): JSPromiseWrapper[B] = {
JSPromiseWrapper(
jsPromise.`then`[Either[B,JSPromiseWrapper[B]]](
onFulfilled = {
case Left(a) =>
evalOp(f(Success(a)))
case Right(wa) =>
Right(wa.flatMapTry(f))
},
onRejected = { (e: Any) =>
e match
case ex: Throwable =>
evalOp(f(Failure(ex)))
case other =>
evalOp(f(Failure(JavaScriptException(other))))
}
)
)
}
}
def evalOp[T](op: => JSPromiseWrapper[T]): Either[T, JSPromiseWrapper[T]] = {
???
}
Next build.sbt:
lazy val testProject = project.in(file("."))
.enablePlugins(ScalaJSPlugin)
.settings(
scalaVersion := "3.5.0-RC2",
scalacOptions ++= Seq(
"-Ycheck:all"
),
scalaJSUseMainModuleInitializer := true,
)
Output (click arrow to expand)
rssh@rssh4> sbt compile ~/tests/dotty/scalajs-invalid-literal
[info] welcome to sbt 1.10.0 (Homebrew Java 21.0.3)
[info] loading global plugins from /Users/rssh/.sbt/1.0/plugins
[info] loading settings for project scalajs-invalid-literal-build from plugins.sbt ...
[info] loading project definition from /Users/rssh/tests/dotty/scalajs-invalid-literal/project
[info] loading settings for project testProject from build.sbt ...
[info] set current project to testProject (in build file:/Users/rssh/tests/dotty/scalajs-invalid-literal/)
[info] Executing in batch mode. For better performance use sbt's shell
[info] compiling 1 Scala source to /Users/rssh/tests/dotty/scalajs-invalid-literal/target/scala-3.5.0-RC2/classes ...
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase typer
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase checkUnusedPostTyper
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase checkShadowing
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase inlinedPositions
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase posttyper
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase prepjsinterop
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase pickler
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase inlining
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase postInlining
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase checkUnusedPostInlining
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase staging
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase splicing
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase pickleQuotes
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase MegaPhase{crossVersionChecks, firstTransform, checkReentrant, elimPackagePrefixes, cookComments, checkLoopingImplicits, betaReduce, inlineVals, expandSAMs, elimRepeated, refchecks}
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase MegaPhase{protectedAccessors, extmethods, uncacheGivenAliases, checkStatic, elimByName, hoistSuperArgs, forwardDepChecks, tryCatchPatterns, patternMatcher}
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase MegaPhase{elimOpaque, explicitJSClasses, explicitOuter, explicitSelf, interpolators, dropBreaks}
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase MegaPhase{pruneErasedDefs, uninitialized, inlinePatterns, vcInlineMethods, seqLiterals, intercepted, getters, collectNullableFields, elimOuterSelect, resolveSuper, functionXXLForwarders, paramForwarding, genericTuples, letOverApply, arrayConstructors}
[info] checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase erasure
*** error while checking /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala after phase erasure ***
unhandled exception while running Ycheck on /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala
An unhandled exception was thrown in the compiler.
Please file a crash report here:
https://github.com/scala/scala3/issues/new/choose
For non-enriched exceptions, compile with -Xno-enrich-error-messages.
while compiling: /Users/rssh/tests/dotty/scalajs-invalid-literal/src/main/scala/x/JSAsyncCpsMonad.scala
during phase: Ycheck
mode: Mode(ImplicitsEnabled)
library version: version 2.13.13
compiler version: version 3.5.0-RC2
settings: -Ycheck List(all) -classpath /Users/rssh/tests/dotty/scalajs-invalid-literal/target/scala-3.5.0-RC2/classes:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_sjs1_3/3.5.0-RC2/scala3-library_sjs1_3-3.5.0-RC2.jar:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.13/1.16.0/scalajs-library_2.13-1.16.0.jar:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/com/github/rssh/dotty-cps-async_sjs1_3/0.9.21/dotty-cps-async_sjs1_3-0.9.21.jar:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.13/scala-library-2.13.13.jar:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-javalib/1.16.0/scalajs-javalib-1.16.0.jar:/Users/rssh/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-scalalib_2.13/2.13.13%2B1.16.0/scalajs-scalalib_2.13-2.13.13%2B1.16.0.jar -d /Users/rssh/tests/dotty/scalajs-invalid-literal/target/scala-3.5.0-RC2/classes -scalajs true
[error] ## Exception when compiling 1 sources to /Users/rssh/tests/dotty/scalajs-invalid-literal/target/scala-3.5.0-RC2/classes
[error] java.lang.AssertionError: assertion failed: function literal are not properly formed as a block of DefDef and Closure. Found: closure($anonfun:scala.scalajs.js.Function1) Nesting block: {
[error] def $anonfun(e: Object): Object =
[error] {
[error] matchResult5[scala.util.Either]:
[error] {
[error] case val x10: Object = e
[error] if x10.isInstanceOf[Throwable] then
[error] {
[error] case val ex: Throwable = x10.asInstanceOf[Throwable]
[error] return[matchResult5]
[error] {
[error] x.evalOp(
[error] {
[error] def $anonfun(): x.JSPromiseWrapper =
[error] f.apply(scala.util.Failure.apply(ex)).asInstanceOf[
[error] x.JSPromiseWrapper]
[error] closure($anonfun:Function0)
[error] }
[error] )
[error] }
[error] }
[error] else ()
[error] case val other: Object = x10
[error] return[matchResult5]
[error] {
[error] x.evalOp(
[error] {
[error] def $anonfun(): x.JSPromiseWrapper =
[error] f.apply(
[error] scala.util.Failure.apply(
[error] scala.scalajs.js.JavaScriptException.apply(other))
[error] ).asInstanceOf[x.JSPromiseWrapper]
[error] closure($anonfun:Function0)
[error] }
[error] )
[error] }
[error] }
[error] }
[error] closure($anonfun:scala.scalajs.js.Function1).asInstanceOf[scala.scalajs.js.|]
[error] }
[error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedClosure(TreeChecker.scala:675)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3411)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.ReTyper.typedSelect(ReTyper.scala:42)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedSelect(TreeChecker.scala:523)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3374)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3483)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.typer.Applications.typedTypeApply(Applications.scala:1284)
[error] dotty.tools.dotc.typer.Applications.typedTypeApply$(Applications.scala:434)
[error] dotty.tools.dotc.typer.Typer.typedTypeApply(Typer.scala:145)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3419)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1384)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withDefinedSyms(TreeChecker.scala:278)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withBlock(TreeChecker.scala:306)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock(TreeChecker.scala:684)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3407)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1384)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withDefinedSyms(TreeChecker.scala:278)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withBlock(TreeChecker.scala:306)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock(TreeChecker.scala:684)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3407)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.$anonfun$7(ProtoTypes.scala:512)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.cacheTypedArg(ProtoTypes.scala:435)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.typedArg(ProtoTypes.scala:513)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:996)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:996)
[error] dotty.tools.dotc.typer.Applications$Application.addTyped$1(Applications.scala:688)
[error] dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:752)
[error] dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:752)
[error] dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:574)
[error] dotty.tools.dotc.typer.Applications$TypedApply.<init>(Applications.scala:878)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(Applications.scala:995)
[error] dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1257)
[error] dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:434)
[error] dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:145)
[error] dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:1068)
[error] dotty.tools.dotc.typer.Applications.realApply$1$$anonfun$2(Applications.scala:1178)
[error] dotty.tools.dotc.typer.Typer$.tryEither(Typer.scala:118)
[error] dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1193)
[error] dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1231)
[error] dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:434)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedApply(TreeChecker.scala:554)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3399)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.$anonfun$7(ProtoTypes.scala:512)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.cacheTypedArg(ProtoTypes.scala:435)
[error] dotty.tools.dotc.typer.ProtoTypes$FunProto.typedArg(ProtoTypes.scala:513)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:996)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:996)
[error] dotty.tools.dotc.typer.Applications$Application.addTyped$1(Applications.scala:688)
[error] dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:752)
[error] dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:574)
[error] dotty.tools.dotc.typer.Applications$TypedApply.<init>(Applications.scala:878)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(Applications.scala:995)
[error] dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1257)
[error] dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:434)
[error] dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:145)
[error] dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:1068)
[error] dotty.tools.dotc.typer.Applications.realApply$1$$anonfun$2(Applications.scala:1178)
[error] dotty.tools.dotc.typer.Typer$.tryEither(Typer.scala:118)
[error] dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1193)
[error] dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1231)
[error] dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:434)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedApply(TreeChecker.scala:554)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3399)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1384)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withDefinedSyms(TreeChecker.scala:278)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock$$anonfun$1(TreeChecker.scala:684)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withBlock(TreeChecker.scala:306)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock(TreeChecker.scala:684)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3407)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.typer.Typer.$anonfun$65(Typer.scala:2823)
[error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:256)
[error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2823)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedDefDef$$anonfun$1(TreeChecker.scala:659)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.withDefinedSyms(TreeChecker.scala:278)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedDefDef(TreeChecker.scala:662)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3381)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3483)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3587)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3633)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedStats(TreeChecker.scala:702)
[error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:3081)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedClassDef(TreeChecker.scala:629)
[error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3387)
[error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3391)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3483)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3587)
[error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3633)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedStats(TreeChecker.scala:702)
[error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:3214)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedPackageDef(TreeChecker.scala:728)
[error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3433)
[error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3484)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:434)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3561)
[error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3565)
[error] dotty.tools.dotc.transform.TreeChecker$Checker.typed(TreeChecker.scala:416)
[error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3676)
[error] dotty.tools.dotc.transform.TreeChecker.check(TreeChecker.scala:131)
[error] dotty.tools.dotc.transform.TreeChecker.run(TreeChecker.scala:111)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:380)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.immutable.List.foreach(List.scala:334)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:373)
[error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:343)
[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:1323)
[error] dotty.tools.dotc.Run.runPhases$1(Run.scala:336)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:384)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:396)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:69)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:396)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:282)
[error] dotty.tools.dotc.Run.compile(Run.scala:267)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:37)
[error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:141)
[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:194)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:249)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:184)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:164)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:164)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:212)
[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$3(Incremental.scala:178)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$3$adapted(Incremental.scala:176)
[error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:454)
[error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:117)
[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:265)
[error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:409)
[error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:496)
[error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:396)
[error] sbt.internal.inc.Incremental$.apply(Incremental.scala:170)
[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] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2427)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2377)
[error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:41)
[error] sbt.internal.io.Retry$.apply(Retry.scala:47)
[error] sbt.internal.io.Retry$.apply(Retry.scala:29)
[error] sbt.internal.io.Retry$.apply(Retry.scala:24)
[error] sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:41)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2375)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)
[error] sbt.std.Transform$$anon$4.work(Transform.scala:69)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:283)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
[error] sbt.Execute.work(Execute.scala:292)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:283)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[error] java.base/java.lang.Thread.run(Thread.java:1583)
[error]