Scala: порядок определения сопутствующего объекта в сравнении с классом case

В 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

Похоже, что недопустимо определять сопутствующий объект для класса наблюдения после определения класса случая, если они находятся в определении функции. Это ошибка компилятора или намеренная? Если последнее, то почему?

Ответы на вопрос(2)

Ваш ответ на вопрос