Scala: ordem de definição para objeto complementar versus classe de caso
o Scala 2.9.1, recebo o seguinte comportamento:
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)
}
}
O compilador reclama deObject Z
: error: Z já está definido como o objeto complementar da classe de caso (gerado pelo compilador) Z
Parece que não é permitido definir um objeto complementar para uma classe de caso após a definição de classe de caso, se eles estiverem dentro de uma definição de função. Isso é um bug do compilador ou intencional? Se o último, por quê?