scala / scala3

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

Infinite loop when compiling http4s with -Ysafe-init-global flag #19097

Open q-ata opened 11 months ago

q-ata commented 11 months ago

Compiler version

Scala compiler version 3.4.0-RC1-bin-SNAPSHOT-git-55c2002 (commit 55c20020c24d9edcc8577e9b62c5935e358efbfa)

Issue

When trying to compile the http4s community project with the -Ysafe-init-global flag, the compilation hangs and appears to encounter an infinite loop.

The issue appears to stem from the cats project, which is a dependency and occurs when the checker tries to analyze the Eval object in Eval.scala.

I tried changing the definition of flatMap in Eval.scala:92 to some dummy value as follows:

def flatMap[B](f: A => Eval[B]): Eval[B] = f(value)

Doing so and recompiling http4s produces a stack overflow error instead of an infinite loop with the following stack trace:

```scala [error] java.lang.StackOverflowError [error] dotty.tools.dotc.transform.init.Objects$.readLocal(Objects.scala:936) [error] dotty.tools.dotc.transform.init.Objects$.evalType(Objects.scala:1491) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$18(Objects.scala:1077) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1077) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.evalPattern$1(Objects.scala:1332) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1289) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs$$anonfun$1(Objects.scala:1530) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs(Objects.scala:1549) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1100) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1207) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs$$anonfun$1(Objects.scala:1530) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs(Objects.scala:1549) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1100) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs$$anonfun$1(Objects.scala:1530) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs(Objects.scala:1549) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1100) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1207) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1242) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalExprs$$anonfun$1(Objects.scala:1057) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.evalExprs(Objects.scala:1057) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1193) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.call$$anonfun$4(Objects.scala:726) [error] scala.collection.StrictOptimizedIterableOps.map(StrictOptimizedIterableOps.scala:100) [error] scala.collection.StrictOptimizedIterableOps.map$(StrictOptimizedIterableOps.scala:87) [error] scala.collection.immutable.ListSet.map(ListSet.scala:40) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:726) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1160) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1118) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalExprs$$anonfun$1(Objects.scala:1057) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.evalExprs(Objects.scala:1057) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1198) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1160) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$28(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1137) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs$$anonfun$1(Objects.scala:1530) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs(Objects.scala:1549) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1100) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs$$anonfun$1(Objects.scala:1530) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.transform.init.Objects$.evalArgs(Objects.scala:1549) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1100) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:246) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9$$anonfun$1(Objects.scala:681) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:126) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$9(Objects.scala:684) [error] dotty.tools.dotc.transform.init.Objects$.call(Objects.scala:677) [error] dotty.tools.dotc.transform.init.Objects$.$anonfun$23(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1122) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1207) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1194) [error] dotty.tools.dotc.transform.init.Objects$.eval$$anonfun$1(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.$anonfun$5(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Cache.cachedEval(Cache.scala:112) [error] dotty.tools.dotc.transform.init.Objects$Cache$Data.cachedEval(Objects.scala:519) [error] dotty.tools.dotc.transform.init.Objects$.eval(Objects.scala:1051) [error] dotty.tools.dotc.transform.init.Objects$.evalCase$1(Objects.scala:1291) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch$$anonfun$1(Objects.scala:1458) [error] scala.collection.immutable.List.map(List.scala:250) [error] dotty.tools.dotc.transform.init.Objects$.patternMatch(Objects.scala:1458) [error] dotty.tools.dotc.transform.init.Objects$.cases(Objects.scala:1208) ... truncated due to length limit ```
liufengyun commented 11 months ago

A WIP repro: scala-cli test.scala

//> using scala 3.nightly
//> using option -Ysafe-init-global
//> using dep "org.typelevel::cats-parse:1.0.0"

import cats.parse.Parser

object Test:
  val alpha: Parser[Char] =
    Parser.charIn('A' to 'Z') | Parser.charIn('a' to 'z')

@main def run = println("hello")

Need to do further minimization.

q-ata commented 6 days ago

The specific code inside cats-parse that causes the issue is the function Parser::Impl::oneOfInternal in Parser.scala. This function in turn calls the List::traverse function from cats-core which causes the loop.

//> using scala 3.6.1
//> using option -Ysafe-init-global
//> using dep "org.typelevel::cats-core::2.10.0"

import cats.implicits._

object Test:
  val alpha: Int =
    List(1, 2, 3).traverse[Option, Int] {
      case _ => None
    } match {
      case _ =>
        5
    }

Need to investigate cats-core for a zero dependency test case.