在 Scala 2.9.1 中,我得到以下行为:
class Foo {
case class X()
object X // this compiles
def bar() {
object Y // this compiles
case class Y()
case class Z()
object Z // won't compile (see below)
}
}
编译器抱怨Object Z
:
错误:Z 已定义为(编译器生成的)案例类伴生对象 Z
看起来好像不允许在案例类定义之后为案例类定义伴生对象(如果它们位于函数定义内)。这是编译器错误还是故意的?如果是后者,为什么?
这是一个已知的错误:SI-3772:同伴和方法拥有的案例类 https://issues.scala-lang.org/browse/SI-3772。这已部分解决,但 OP 的问题仍然存在。如果您想修复它,请投票。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)