In Scala 2.9.1 ottengo il seguente comportamento:Scala: ordine di definizione per oggetto associato vs classe caso
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)
}
}
Il compilatore si lamenta per Object Z
: errore: Z è già definito come (generato dal compilatore) Oggetto compagno della classe case Z
Sembra che non sia consentito definire un oggetto companion per una classe case dopo la definizione della classe case se si trova all'interno di una definizione di funzione. È un bug del compilatore o intenzionale? Se quest'ultimo, perché?
È abbastanza facile da aggirare, quindi non sono sicuro che valga la pena di votare. Grazie per il link al biglietto. –