在 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
看起来好像不允许在案例类定义之后为案例类定义伴随对象,如果它们在函数定义中。这是编译器错误还是故意的?如果是后者,为什么?