我创建了一个x
包含源文件的文件夹package.scala
。该文件包含以下代码:
package x
package object y
{
trait A
case class B extends A
}
Eclipse 显示编译错误:illegal cyclic reference involving object y
.
我不太确定这意味着什么。如果我尝试定义一个普通类(删除case
),错误消息就会消失。另一种解决方案是使用普通对象而不是包对象:
package x
object y
{
trait A
case class B extends A
}
循环引用在哪里?我怎样才能删除它?据我了解,我无法在包对象中定义特征和案例子类。但我不知道这个限制来自哪里。