scala / scala3

The Scala 3 compiler, also known as Dotty.
https://dotty.epfl.ch
Apache License 2.0
5.89k stars 1.06k forks source link

Compiler crash using zio-http:3.0.0-RC3 #18999

Closed lmlynik closed 9 months ago

lmlynik commented 1 year ago

Compiler version

3.3.1

Minimized code

Scala-CLI repro

//> using scala "3.3.1"
//> using lib "dev.zio::zio-http:3.0.0-RC3"

import zio.*
import zio.http.*
import java.io.*
import java.nio.file.{ AccessDeniedException, NotDirectoryException }

object Main extends ZIOAppDefault {

  val app: HttpApp[Any] =
    Routes(
      Method.GET / "content" / string("file") -> Handler.fromFunctionHandler {
       case (file: String, req: Request) =>
          Handler.fromFile(new File(file))
      },
    ).toHttpApp

  override val run =
    Server.serve(app).provide(Server.default)
}

Output (click arrow to expand)

``` [info] welcome to sbt 1.9.7 (Homebrew Java 17.0.5) [info] loading global plugins from /home/lmlynik/.sbt/1.0/plugins [info] loading settings for project gptardy-build from plugins.sbt ... [info] loading project definition from /home/lmlynik/IdeaProjects/gptardy/project [info] loading settings for project root from build.sbt ... [info] set current project to gptardy (in build file:/home/lmlynik/IdeaProjects/gptardy/) [info] Executing in batch mode. For better performance use sbt's shell [info] compiling 10 Scala sources to /home/lmlynik/IdeaProjects/gptardy/target/scala-3.3.1/classes ... java.lang.AssertionError: assertion failed while typechecking /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/Main.scala [info] exception occurred while typechecking /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/Main.scala [info] [info] exception occurred while compiling List(/home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/Html.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/Main.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/extensions/Responses.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/game/Game.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/networking/NetworkUtils.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/networking/QR.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/pages/gamePage.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/pages/mainPage.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/pages/qrPage.scala, /home/lmlynik/IdeaProjects/gptardy/src/main/scala/com/mlynik/gptardy/pages/questionPage.scala) [info] [info] An unhandled exception was thrown in the compiler. [info] Please file a crash report here: [info] https://github.com/lampepfl/dotty/issues/new/choose [info] [info] while compiling: [info] during phase: [info] mode: Mode(ImplicitsEnabled) [info] library version: version 2.13.10 [info] compiler version: version 3.3.1 [info] settings: -bootclasspath /home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.3.1/scala3-library_3-3.3.1.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar -classpath /home/lmlynik/IdeaProjects/gptardy/target/scala-3.3.1/classes:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-http_3/3.0.0-RC3/zio-http_3-3.0.0-RC3.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/zxing/core/3.5.1/core-3.5.1.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/zxing/javase/3.5.1/javase-3.5.1.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/ngrok/ngrok-api-java/0.8.0/ngrok-api-java-0.8.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.100.Final/netty-codec-http-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.100.Final/netty-handler-proxy-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.100.Final/netty-transport-native-epoll-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.100.Final/netty-transport-native-epoll-4.1.100.Final-linux-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.100.Final/netty-transport-native-epoll-4.1.100.Final-linux-aarch_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-kqueue/4.1.100.Final/netty-transport-native-kqueue-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-kqueue/4.1.100.Final/netty-transport-native-kqueue-4.1.100.Final-osx-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-kqueue/4.1.100.Final/netty-transport-native-kqueue-4.1.100.Final-osx-aarch_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio_3/2.0.18/zio_3-2.0.18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-streams_3/2.0.18/zio-streams_3-2.0.18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-schema_3/0.4.14/zio-schema_3-0.4.14.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-schema-json_3/0.4.14/zio-schema-json_3-0.4.14.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-schema-protobuf_3/0.4.14/zio-schema-protobuf_3-0.4.14.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/incubator/netty-incubator-transport-native-io_uring/0.0.20.Final/netty-incubator-transport-native-io_uring-0.0.20.Final-linux-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/beust/jcommander/1.82/jcommander-1.82.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/linecorp/armeria/armeria/1.16.0/armeria-1.16.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.13.2/jackson-core-2.13.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.13.2/jackson-annotations-2.13.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.13.2.1/jackson-databind-2.13.2.1.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.2/jackson-datatype-jdk8-2.13.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.2/jackson-datatype-jsr310-2.13.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-common/4.1.100.Final/netty-common-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-buffer/4.1.100.Final/netty-buffer-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport/4.1.100.Final/netty-transport-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec/4.1.100.Final/netty-codec-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-handler/4.1.100.Final/netty-handler-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.100.Final/netty-codec-socks-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.100.Final/netty-transport-native-unix-common-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.100.Final/netty-transport-classes-epoll-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-classes-kqueue/4.1.100.Final/netty-transport-classes-kqueue-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-internal-macros_3/2.0.18/zio-internal-macros_3-2.0.18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-stacktracer_3/2.0.18/zio-stacktracer_3-2.0.18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect_3/2.3.8/izumi-reflect_3-2.3.8.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-schema-macros_3/0.4.14/zio-schema-macros_3-0.4.14.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-prelude_3/1.0.0-RC18/zio-prelude_3-1.0.0-RC18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-constraintless_3/0.3.2/zio-constraintless_3-0.3.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-schema-derivation_3/0.4.14/zio-schema-derivation_3-0.4.14.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-json_3/0.5.0/zio-json_3-0.5.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/incubator/netty-incubator-transport-classes-io_uring/0.0.20.Final/netty-incubator-transport-classes-io_uring-0.0.20.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/micrometer/micrometer-core/1.8.5/micrometer-core-1.8.5.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.76.Final/netty-codec-http2-4.1.76.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec-haproxy/4.1.76.Final/netty-codec-haproxy-4.1.76.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-resolver-dns/4.1.76.Final/netty-resolver-dns-4.1.76.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-resolver-dns-native-macos/4.1.76.Final/netty-resolver-dns-native-macos-4.1.76.Final-osx-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-resolver-dns-native-macos/4.1.76.Final/netty-resolver-dns-native-macos-4.1.76.Final-osx-aarch_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.100.Final/netty-transport-native-unix-common-4.1.100.Final-linux-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.51.Final/netty-tcnative-boringssl-static-2.0.51.Final-linux-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.51.Final/netty-tcnative-boringssl-static-2.0.51.Final-linux-aarch_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.51.Final/netty-tcnative-boringssl-static-2.0.51.Final-osx-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.51.Final/netty-tcnative-boringssl-static-2.0.51.Final-osx-aarch_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.51.Final/netty-tcnative-boringssl-static-2.0.51.Final-windows-x86_64.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/aayushatharva/brotli4j/brotli4j/1.7.1/brotli4j-1.7.1.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-resolver/4.1.100.Final/netty-resolver-4.1.100.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/izumi-reflect-thirdparty-boopickle-shaded_3/2.3.8/izumi-reflect-thirdparty-boopickle-shaded_3-2.3.8.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/zio/zio-prelude-macros_3/1.0.0-RC18/zio-prelude-macros_3-1.0.0-RC18.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_3/2.9.0/scala-collection-compat_3-2.9.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/softwaremill/magnolia1_3/magnolia_3/1.3.0/magnolia_3-1.3.0.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-codec-dns/4.1.76.Final/netty-codec-dns-4.1.76.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-resolver-dns-classes-macos/4.1.76.Final/netty-resolver-dns-classes-macos-4.1.76.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.51.Final/netty-tcnative-classes-2.0.51.Final.jar:/home/lmlynik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/aayushatharva/brotli4j/native-linux-x86_64/1.7.1/native-linux-x86_64-1.7.1.jar -d /home/lmlynik/IdeaProjects/gptardy/target/scala-3.3.1/classes -no-indent true -rewrite Some(dotty.tools.dotc.rewrites.Rewrites@da2edc2) [info] [info] tree: EmptyTree [info] tree position: : [info] tree type: [info] symbol: val [info] call site: package in module class [info] [info] == Source file context for tree position == [info] [error] ## Exception when compiling 10 sources to /home/lmlynik/IdeaProjects/gptardy/target/scala-3.3.1/classes [error] java.lang.AssertionError: assertion failed [error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11) [error] dotty.tools.dotc.ast.tpd$.TypeApply(tpd.scala:60) [error] dotty.tools.dotc.ast.tpd$TreeOps$.appliedToTypeTrees$extension(tpd.scala:985) [error] dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4255) [error] dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3587) [error] dotty.tools.dotc.typer.ProtoTypes$FunProto.typedArg(ProtoTypes.scala:497) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] dotty.tools.dotc.typer.Applications$Application.addTyped$1(Applications.scala:589) [error] dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:653) [error] dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:492) [error] dotty.tools.dotc.typer.Applications$TypedApply.(Applications.scala:779) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.(Applications.scala:896) [error] dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1126) [error] dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:352) [error] dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:116) [error] dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:969) [error] dotty.tools.dotc.typer.Applications.realApply$1$$anonfun$2(Applications.scala:1052) [error] dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:3324) [error] dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1063) [error] dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1101) [error] dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:352) [error] dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:116) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3048) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1136) [error] dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1167) [error] dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:818) [error] dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:116) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1242) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1341) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1511) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1539) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1547) [error] dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1572) [error] dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:1060) [error] dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:818) [error] dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:116) [error] dotty.tools.dotc.typer.Implicits.inferView(Implicits.scala:856) [error] dotty.tools.dotc.typer.Implicits.inferView$(Implicits.scala:818) [error] dotty.tools.dotc.typer.Typer.inferView(Typer.scala:116) [error] dotty.tools.dotc.typer.Implicits.viewExists(Implicits.scala:831) [error] dotty.tools.dotc.typer.Implicits.viewExists$(Implicits.scala:818) [error] dotty.tools.dotc.typer.Typer.viewExists(Typer.scala:116) [error] dotty.tools.dotc.typer.Implicits.ignoredConvertibleImplicits$1$$anonfun$3(Implicits.scala:960) [error] scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:479) [error] scala.collection.Iterator.isEmpty(Iterator.scala:466) [error] scala.collection.Iterator.isEmpty$(Iterator.scala:466) [error] scala.collection.AbstractIterator.isEmpty(Iterator.scala:1300) [error] scala.collection.View$Filter.isEmpty(View.scala:146) [error] scala.collection.IterableOnceOps.nonEmpty(IterableOnce.scala:833) [error] scala.collection.IterableOnceOps.nonEmpty$(IterableOnce.scala:833) [error] scala.collection.AbstractIterable.nonEmpty(Iterable.scala:933) [error] dotty.tools.dotc.reporting.MissingImplicitArgument.noChainConversionsNote$1(messages.scala:2838) [error] dotty.tools.dotc.reporting.MissingImplicitArgument.msgPostscript$$anonfun$4(messages.scala:2846) [error] scala.Option.orElse(Option.scala:477) [error] dotty.tools.dotc.reporting.MissingImplicitArgument.msgPostscript(messages.scala:2846) [error] dotty.tools.dotc.reporting.Message.message$$anonfun$1(Message.scala:345) [error] dotty.tools.dotc.reporting.Message.inMessageContext(Message.scala:341) [error] dotty.tools.dotc.reporting.Message.message(Message.scala:345) [error] dotty.tools.dotc.reporting.Message.isNonSensical(Message.scala:322) [error] dotty.tools.dotc.reporting.HideNonSensicalMessages.isHidden(HideNonSensicalMessages.scala:16) [error] dotty.tools.dotc.reporting.HideNonSensicalMessages.isHidden$(HideNonSensicalMessages.scala:10) [error] dotty.tools.dotc.reporting.AbstractReporter.isHidden(AbstractReporter.scala:8) [error] dotty.tools.dotc.reporting.Reporter.issueUnconfigured(Reporter.scala:156) [error] dotty.tools.dotc.reporting.Reporter.go$1(Reporter.scala:181) [error] dotty.tools.dotc.reporting.Reporter.issueIfNotSuppressed(Reporter.scala:200) [error] dotty.tools.dotc.reporting.Reporter.report(Reporter.scala:203) [error] dotty.tools.dotc.report$.error(report.scala:68) [error] dotty.tools.dotc.typer.Typer.issueErrors$1$$anonfun$1(Typer.scala:3808) [error] scala.runtime.function.JProcedure3.apply(JProcedure3.java:15) [error] scala.runtime.function.JProcedure3.apply(JProcedure3.java:10) [error] scala.collection.LazyZip3.foreach(LazyZipOps.scala:248) [error] dotty.tools.dotc.typer.Typer.issueErrors$1(Typer.scala:3810) [error] dotty.tools.dotc.typer.Typer.addImplicitArgs$1(Typer.scala:3832) [error] dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$1(Typer.scala:3849) [error] dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:4038) [error] dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4268) [error] dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3587) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2424) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3021) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2669) [error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3036) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3040) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2812) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3081) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$1(TyperPhase.scala:44) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$adapted$1(TyperPhase.scala:54) [error] scala.Function0.apply$mcV$sp(Function0.scala:42) [error] dotty.tools.dotc.core.Phases$Phase.monitor(Phases.scala:440) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck(TyperPhase.scala:54) [error] dotty.tools.dotc.typer.TyperPhase.runOn$$anonfun$3(TyperPhase.scala:88) [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:333) [error] dotty.tools.dotc.typer.TyperPhase.runOn(TyperPhase.scala:88) [error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:246) [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:262) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:270) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:279) [error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67) [error] dotty.tools.dotc.Run.compileUnits(Run.scala:279) [error] dotty.tools.dotc.Run.compileSources(Run.scala:194) [error] dotty.tools.dotc.Run.compile(Run.scala:179) [error] dotty.tools.dotc.Driver.doCompile(Driver.scala:37) [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.java:23) [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:180) [error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:178) [error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:464) [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:419) [error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506) [error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:406) [error] sbt.internal.inc.Incremental$.apply(Incremental.scala:172) [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:2371) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2321) [error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:31) [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:31) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2319) [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:264) [error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [error] java.base/java.lang.Thread.run(Thread.java:833) [error] [error] java.lang.AssertionError: assertion failed [error] at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11) [error] at dotty.tools.dotc.ast.tpd$.TypeApply(tpd.scala:60) [error] at dotty.tools.dotc.ast.tpd$TreeOps$.appliedToTypeTrees$extension(tpd.scala:985) [error] at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4255) [error] at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3587) [error] at dotty.tools.dotc.typer.ProtoTypes$FunProto.typedArg(ProtoTypes.scala:497) [error] at dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] at dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] at dotty.tools.dotc.typer.Applications$Application.addTyped$1(Applications.scala:589) [error] at dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:653) [error] at dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:492) [error] at dotty.tools.dotc.typer.Applications$TypedApply.(Applications.scala:779) [error] at dotty.tools.dotc.typer.Applications$ApplyToUntyped.(Applications.scala:896) [error] at dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1126) [error] at dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:352) [error] at dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:116) [error] at dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:969) [error] at dotty.tools.dotc.typer.Applications.realApply$1$$anonfun$2(Applications.scala:1052) [error] at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:3324) [error] at dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1063) [error] at dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1101) [error] at dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:352) [error] at dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:116) [error] at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3048) [error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] at dotty.tools.dotc.typer.Implicits.tryConversion$1(Implicits.scala:1136) [error] at dotty.tools.dotc.typer.Implicits.typedImplicit(Implicits.scala:1167) [error] at dotty.tools.dotc.typer.Implicits.typedImplicit$(Implicits.scala:818) [error] at dotty.tools.dotc.typer.Typer.typedImplicit(Typer.scala:116) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.tryImplicit(Implicits.scala:1242) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.rank$1(Implicits.scala:1341) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1511) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1539) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:1547) [error] at dotty.tools.dotc.typer.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1572) [error] at dotty.tools.dotc.typer.Implicits.inferImplicit(Implicits.scala:1060) [error] at dotty.tools.dotc.typer.Implicits.inferImplicit$(Implicits.scala:818) [error] at dotty.tools.dotc.typer.Typer.inferImplicit(Typer.scala:116) [error] at dotty.tools.dotc.typer.Implicits.inferView(Implicits.scala:856) [error] at dotty.tools.dotc.typer.Implicits.inferView$(Implicits.scala:818) [error] at dotty.tools.dotc.typer.Typer.inferView(Typer.scala:116) [error] at dotty.tools.dotc.typer.Implicits.viewExists(Implicits.scala:831) [error] at dotty.tools.dotc.typer.Implicits.viewExists$(Implicits.scala:818) [error] at dotty.tools.dotc.typer.Typer.viewExists(Typer.scala:116) [error] at dotty.tools.dotc.typer.Implicits.ignoredConvertibleImplicits$1$$anonfun$3(Implicits.scala:960) [error] at scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:479) [error] at scala.collection.Iterator.isEmpty(Iterator.scala:466) [error] at scala.collection.Iterator.isEmpty$(Iterator.scala:466) [error] at scala.collection.AbstractIterator.isEmpty(Iterator.scala:1300) [error] at scala.collection.View$Filter.isEmpty(View.scala:146) [error] at scala.collection.IterableOnceOps.nonEmpty(IterableOnce.scala:833) [error] at scala.collection.IterableOnceOps.nonEmpty$(IterableOnce.scala:833) [error] at scala.collection.AbstractIterable.nonEmpty(Iterable.scala:933) [error] at dotty.tools.dotc.reporting.MissingImplicitArgument.noChainConversionsNote$1(messages.scala:2838) [error] at dotty.tools.dotc.reporting.MissingImplicitArgument.msgPostscript$$anonfun$4(messages.scala:2846) [error] at scala.Option.orElse(Option.scala:477) [error] at dotty.tools.dotc.reporting.MissingImplicitArgument.msgPostscript(messages.scala:2846) [error] at dotty.tools.dotc.reporting.Message.message$$anonfun$1(Message.scala:345) [error] at dotty.tools.dotc.reporting.Message.inMessageContext(Message.scala:341) [error] at dotty.tools.dotc.reporting.Message.message(Message.scala:345) [error] at dotty.tools.dotc.reporting.Message.isNonSensical(Message.scala:322) [error] at dotty.tools.dotc.reporting.HideNonSensicalMessages.isHidden(HideNonSensicalMessages.scala:16) [error] at dotty.tools.dotc.reporting.HideNonSensicalMessages.isHidden$(HideNonSensicalMessages.scala:10) [error] at dotty.tools.dotc.reporting.AbstractReporter.isHidden(AbstractReporter.scala:8) [error] at dotty.tools.dotc.reporting.Reporter.issueUnconfigured(Reporter.scala:156) [error] at dotty.tools.dotc.reporting.Reporter.go$1(Reporter.scala:181) [error] at dotty.tools.dotc.reporting.Reporter.issueIfNotSuppressed(Reporter.scala:200) [error] at dotty.tools.dotc.reporting.Reporter.report(Reporter.scala:203) [error] at dotty.tools.dotc.report$.error(report.scala:68) [error] at dotty.tools.dotc.typer.Typer.issueErrors$1$$anonfun$1(Typer.scala:3808) [error] at scala.runtime.function.JProcedure3.apply(JProcedure3.java:15) [error] at scala.runtime.function.JProcedure3.apply(JProcedure3.java:10) [error] at scala.collection.LazyZip3.foreach(LazyZipOps.scala:248) [error] at dotty.tools.dotc.typer.Typer.issueErrors$1(Typer.scala:3810) [error] at dotty.tools.dotc.typer.Typer.addImplicitArgs$1(Typer.scala:3832) [error] at dotty.tools.dotc.typer.Typer.adaptNoArgsImplicitMethod$1(Typer.scala:3849) [error] at dotty.tools.dotc.typer.Typer.adaptNoArgs$1(Typer.scala:4038) [error] at dotty.tools.dotc.typer.Typer.adapt1(Typer.scala:4268) [error] at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:3587) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] at dotty.tools.dotc.typer.Typer.typedValDef(Typer.scala:2424) [error] at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3021) [error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] at dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2669) [error] at dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3036) [error] at dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3040) [error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] at dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] at dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] at dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2812) [error] at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3081) [error] at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] at dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] at dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$1(TyperPhase.scala:44) [error] at dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$adapted$1(TyperPhase.scala:54) [error] at scala.Function0.apply$mcV$sp(Function0.scala:42) [error] at dotty.tools.dotc.core.Phases$Phase.monitor(Phases.scala:440) [error] at dotty.tools.dotc.typer.TyperPhase.typeCheck(TyperPhase.scala:54) [error] at dotty.tools.dotc.typer.TyperPhase.runOn$$anonfun$3(TyperPhase.scala:88) [error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) [error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) [error] at scala.collection.immutable.List.foreach(List.scala:333) [error] at dotty.tools.dotc.typer.TyperPhase.runOn(TyperPhase.scala:88) [error] at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:246) [error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) [error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) [error] at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321) [error] at dotty.tools.dotc.Run.runPhases$1(Run.scala:262) [error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:270) [error] at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:279) [error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67) [error] at dotty.tools.dotc.Run.compileUnits(Run.scala:279) [error] at dotty.tools.dotc.Run.compileSources(Run.scala:194) [error] at dotty.tools.dotc.Run.compile(Run.scala:179) [error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:37) [error] at dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88) [error] at dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22) [error] at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91) [error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193) [error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) [error] at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248) [error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183) [error] at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163) [error] at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) [error] at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163) [error] at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211) [error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534) [error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534) [error] at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:180) [error] at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:178) [error] at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:464) [error] at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) [error] at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) [error] at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) [error] at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263) [error] at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:419) [error] at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506) [error] at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:406) [error] at sbt.internal.inc.Incremental$.apply(Incremental.scala:172) [error] at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534) [error] at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488) [error] at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) [error] at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425) [error] at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) [error] at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2371) [error] at sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2321) [error] at sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:31) [error] at sbt.internal.io.Retry$.apply(Retry.scala:47) [error] at sbt.internal.io.Retry$.apply(Retry.scala:29) [error] at sbt.internal.io.Retry$.apply(Retry.scala:24) [error] at sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:31) [error] at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2319) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63) [error] at sbt.std.Transform$$anon$4.work(Transform.scala:69) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24) [error] at sbt.Execute.work(Execute.scala:292) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [error] at java.base/java.lang.Thread.run(Thread.java:833) [error] (Compile / compileIncremental) java.lang.AssertionError: assertion failed [error] Total time: 2 s, completed Nov 19, 2023, 11:26:16 AM ```
lmlynik commented 1 year ago

Updated with smaller example which causes the same issue.

WojciechMazur commented 1 year ago

Creash can be minimized to the following snippet.

//> using lib "dev.zio::zio:2.0.18"
import zio.* // removing this import fixes the compilation
trait A
trait B
@main def Test = summon[A <:< B] // should give error, not crash

Working on further minimizaiton

WojciechMazur commented 1 year ago

The issue is present only in Scala 3.3.1, it works fine in 3.3.0 and 3.nightly. The bisect of the commit fixing the issue points to the 8a2773f0c6264ef0392d786e36d1beafc74ea222 which seems to fix similar, yet slightly different bug - in our case just the import zio.* lead to the compiler crash, even though we don't use explicitly any of the symbols introduced by this import. I was not able to figure out why it was crashing. We probably should backport this change to 3.3.2 and check if the issue was fixed

dwijnand commented 1 year ago

in our case just the import zio.* lead to the compiler crash, even though we don't use explicitly any of the symbols introduced by this import. I was not able to figure out why it was crashing.

Both trace come from noChainConversionsNote: while we're trying to give the error message more information, we push the compiler to look things up, while operating on type errored code. One of the ways we guards against that is "errorsReported", but unfortunately we're forcing this code evaluation before we've increased the error count (which defines "errorsReported"). So in addition to #18719 and follow up in #18727 I suggest we also address this forcing issue at this more root cause: in Reporter.issueUnconfigured, before and after isHidden.

dwijnand commented 1 year ago

I suggest we also address this forcing issue at this more root cause: in Reporter.issueUnconfigured, before and after isHidden.

Implementing that in https://github.com/lampepfl/dotty/pull/19113

som-snytt commented 11 months ago

@dwijnand this will not automatically close after your follow-up. (I don't know whether there is a longer tail to chase.)

WojciechMazur commented 9 months ago

Closing as it was fixed in 3.4.0-RC4 and back-ported to 3.3.2-RC3