Closed
Description
Compiler version
- 3.3.2-RC2
- 3.3.2-RC1
- 3.3.1
The problem does not occur in the following compiler versions:
- 3.3.0
- 3.4.0-RC1
- 3.4.0-RC4
- 3.4.1-RC1-bin-20240201-95266f2-NIGHTLY
Compiler flags
-Ysafe-init
Minimized code
build.sbt
lazy val root = project.in(file(".")).settings(
scalaVersion := "3.3.2-RC2",
scalacOptions += "-Ysafe-init",
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.17"
)
AB.scala
trait A extends AnyFreeSpecLike:
"" in {}
trait B extends A:
val test = ()
C.scala (test)
class C extends B
Output (click arrow to expand)
[Internal error] unexpected tree
[error] /home/owner/safe-init-error/dotty/freespec/target/scala-3/src_managed/main/org/scalatest/freespec/AnyFreeSpecLike.scala: [Internal error] unexpected tree
[error] -> class C extends B [ C.scala:1 ]
[error] ^^^^^^^^^^^^^^^^^
[error] -> implicit inline def convertToFreeSpecStringWrapper(s: String):
[error] AnyFreeSpecLike.this.FreeSpecStringWrapper =
[error] {
[error] ${
[error] {
[error] def $anonfun(using evidence$3: quoted.Quotes):
[error] quoted.Expr[AnyFreeSpecLike.this.FreeSpecStringWrapper] =
[error] org.scalactic.source.Position.withPosition[
[error] AnyFreeSpecLike.this.FreeSpecStringWrapper](
[error] '{
[error] {
[error] def $anonfun(pos: org.scalactic.source.Position):
[error] AnyFreeSpecLike.this.FreeSpecStringWrapper =
[error] {
[error] new AnyFreeSpecLike.this.FreeSpecStringWrapper(s, pos)
[error] }
[error] closure($anonfun)
[error] }
[error] }.apply(evidence$3)
[error] )(evidence$3,
[error] quoted.Type.of[AnyFreeSpecLike.this.FreeSpecStringWrapper](
[error] evidence$3)
[error] )
[error] closure($anonfun)
[error] }
[error] }
[error] }:AnyFreeSpecLike.this.FreeSpecStringWrapper
[error] one error found
Reproduce
Unpack the attached archive and run the tests:
tar xfvz safe-init-error.tar.gz
cd safe-init-error
sbt test
Note
Thanks for making a great compiler 😄 .