我有一个项目正在生成编译时堆栈溢出错误。
我正在使用 Quill 进行持久性,它使用宏。我有一个包含 600 多个字段的案例类,它代表一个数据库表。
在编译期间,我得到以下无限递归:
ervice.scala:27: UPDATE email_user SET password_hash = ? 在哪里 user_id = ?[info] .run(quote { [info] ^ java.lang.StackOverflowError at scala.tools.nsc.transform.Erasure$Eraser.adaptMember(Erasure.scala:686) at scala.tools.nsc.transform.Erasure$Eraser .typed1(Erasure.scala:773) 在 scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5584) 在 scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala: 5616) 在 scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5557) 在 scala.tools. nsc.typechecker.Typers$Typer.$anonfun$typed1$38(Typers.scala:4708) 在 scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:698) 在 scala.tools.nsc.typechecker。打字机$打字机。
即使案例字段数量的 22 个字段限制现在已经消失,我是否遇到了一些实际限制?
如果我没有使用 Quill 访问有问题的表/大案例类,则会发生此编译错误。
感谢您的任何见解!