【发布时间】:2012-11-05 14:20:42
【问题描述】:
我创建了一个文件夹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
}
循环引用在哪里?我怎样才能删除它?据我了解,我无法在包对象中定义特征和案例子类。但我不知道这个限制来自哪里。
【问题讨论】:
-
我也遇到了这个问题,用 SBT 编译
package object版本可以正常工作。所以,这是一个 Eclipse 错误。 -
@pedrofurla:好的。然后我只需要等到错误得到修复。至少我知道我的代码是正确的。谢谢。
标签: scala