Open
Description
Compiler version
3.3.3, 3.4.2, and the latest nightly 3.5.0-RC1-bin-20240514-7c9aae3-NIGHTLY
Minimized code
https://scastie.scala-lang.org/mrdziuban/6oBpwuegRvOjFsuhXKbfNA
def test(): Unit = {
case class A()
object A {
val mirror = summon[scala.deriving.Mirror.ProductOf[A]]
}
println(A.mirror)
}
test()
Output
java.lang.StackOverflowError
at Playground$A$3$.<init>(main.scala:5)
at Playground$.A$lzyINIT1$1(main.scala:5)
at Playground$.Playground$$$_$A$2(main.scala:5)
at Playground$A$3$.<init>(main.scala:6)
at Playground$.A$lzyINIT1$1(main.scala:5)
at Playground$.Playground$$$_$A$2(main.scala:5)
at Playground$A$3$.<init>(main.scala:6)
at Playground$.A$lzyINIT1$1(main.scala:5)
at Playground$.Playground$$$_$A$2(main.scala:5)
at Playground$A$3$.<init>(main.scala:6)
...
Expectation
Summoning the Mirror
should work and not cause an error