Closed q-ata closed 10 months ago
3.4.0-RC1-bin-SNAPSHOT-git-48a7871 (commit 48a7871584e24b4d082e4a84c8ff247c24e59721)
The code is the catsEffect3 community project. When compiled with flag -Ysafe-init-global, compilation fails due to an assertion error.
catsEffect3
-Ysafe-init-global
The trace at the point of the error is as follows:
-> object IO extends IOCompanionPlatform with IOLowPriorityImplicits { [ IO.scala:986 ] ^ -> private[this] val _never: IO[Nothing] = asyncForIO.never [ IO.scala:1700 ] ^^^^^^^^^^^^^^^^ -> Async.this.async[A]( { def $anonfun(_$3: Either[Throwable, A] => Unit): F[Option[F[Unit]]] = this.pure[Option[F[Unit]]](cats.implicits.none[Async.this.F[Unit]]) closure($anonfun) } ) -> override def async[A](k: (Either[Throwable, A] => Unit) => IO[Option[IO[Unit]]]): IO[A] = [ IO.scala:1534 ] ^ -> IO.async(k) [ IO.scala:1535 ] ^^^^^^^^^^^ -> def async[A](k: (Either[Throwable, A] => Unit) => IO[Option[IO[Unit]]]): IO[A] = { [ IO.scala:1071 ] ^ -> IOCont(body, Tracing.calculateTracingEvent(k)) [ IO.scala:1083 ] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -> def calculateTracingEvent(key: Any): TracingEvent = { [ TracingPlatform.scala:31 ] ^ -> val cls = key.getClass [ TracingPlatform.scala:32 ] ^^^^^^^^^^^^
The exception is as follows:
Here is a minimized example that triggers the crash.
def h(a: Int): Unit = { } object X { println(h.getClass()) }
Compiler version
3.4.0-RC1-bin-SNAPSHOT-git-48a7871 (commit 48a7871584e24b4d082e4a84c8ff247c24e59721)
Details
The code is the
catsEffect3
community project. When compiled with flag-Ysafe-init-global
, compilation fails due to an assertion error.The trace at the point of the error is as follows:
The exception is as follows: