Dans Scala 2.9.1 je reçois le comportement suivant:Scala: ordre de définition pour objet compagnon vs classe affaire
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)
}
}
Le compilateur se plaint pour Object Z
: erreur: Z est déjà définie comme (compilateur généré) objet compagnon de classe case Z
Il semble qu'il ne soit pas permis de définir un objet compagnon pour une classe de cas après la définition de classe de cas si elles se trouvent dans une définition de fonction. Est-ce un bug du compilateur, ou intentionnel? Si ce dernier, pourquoi?
Il est assez facile de contourner le problème, donc je ne suis pas sûr que cela vaille la peine de voter. Merci pour le lien vers le ticket. –