Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
lmlynik opened this issue Nov 19, 2023 · 7 comments
Closed

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

lmlynik opened this issue Nov 19, 2023 · 7 comments
Assignees
Labels
area:implicits related to implicits itype:bug itype:crash regression This worked in a previous version but doesn't anymore

Comments

@lmlynik
Copy link

lmlynik commented Nov 19, 2023

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: <no file>
[info]         during phase: <no 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: :<unknown>
[info]            tree type: <notype>
[info]               symbol: val <none>
[info]            call site: package <root> in module class <root>
[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.<init>(Applications.scala:779)
[error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(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.<init>(Applications.scala:779)
[error] 	at dotty.tools.dotc.typer.Applications$ApplyToUntyped.<init>(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 lmlynik added itype:bug itype:crash stat:needs triage Every issue needs to have an "area" and "itype" label labels Nov 19, 2023
@lmlynik
Copy link
Author

lmlynik commented Nov 19, 2023

Updated with smaller example which causes the same issue.

@WojciechMazur
Copy link
Contributor

WojciechMazur commented Nov 19, 2023

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
Copy link
Contributor

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 8a2773f 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

@WojciechMazur WojciechMazur added area:implicits related to implicits and removed stat:needs triage Every issue needs to have an "area" and "itype" label labels Nov 19, 2023
@WojciechMazur WojciechMazur added the regression This worked in a previous version but doesn't anymore label Nov 19, 2023
@Kordyjan Kordyjan changed the title [SCALA 3.3.1] Compiler crash using zio-http:3.0.0-RC3 Compiler crash using zio-http:3.0.0-RC3 Nov 20, 2023
@dwijnand
Copy link
Member

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
Copy link
Member

dwijnand commented Dec 4, 2023

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

Implementing that in #19113

odersky added a commit that referenced this issue Dec 17, 2023
Using issue #18650 as the reference (but issue #18999 is another option)
building on the fix in PR #18719 (refined in PR #18727) as well as the
fix in PR #18760, I'm trying to make a more root change here by making
sure that message forcing only occurs with `hasErrors`/`errorsReported`
is true, so as to avoid assertion errors crashing the compiler.
@som-snytt
Copy link
Contributor

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

@WojciechMazur
Copy link
Contributor

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

dwijnand pushed a commit to dwijnand/scala3 that referenced this issue Feb 21, 2024
Using issue scala#18650 as the reference (but issue scala#18999 is another option)
building on the fix in PR scala#18719 (refined in PR scala#18727) as well as the
fix in PR scala#18760, I'm trying to make a more root change here by making
sure that message forcing only occurs with `hasErrors`/`errorsReported`
is true, so as to avoid assertion errors crashing the compiler.

(cherry picked from commit 10f2c10)
dwijnand pushed a commit to dwijnand/scala3 that referenced this issue Mar 5, 2024
Using issue scala#18650 as the reference (but issue scala#18999 is another option)
building on the fix in PR scala#18719 (refined in PR scala#18727) as well as the
fix in PR scala#18760, I'm trying to make a more root change here by making
sure that message forcing only occurs with `hasErrors`/`errorsReported`
is true, so as to avoid assertion errors crashing the compiler.

(cherry picked from commit 10f2c10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:implicits related to implicits itype:bug itype:crash regression This worked in a previous version but doesn't anymore
Projects
None yet
Development

No branches or pull requests

5 participants