Я работаю со Scala 2.9.0.1 в Eclipse.
У меня есть иерархия классов / признаков Scala, что-то вроде:
A.scala: trait A
B.scala: trait B extends A
C.scala: trait C extends B
кроме более сложных; слишком велик для публикации в качестве примера.
Итак, C косвенно зависит от A, но A ничего не знает о C.
Теперь, если я меняю А, я везде получаю ошибку, поэтому я продолжаю свой путь. Когда я наконец исправил последнюю ошибку в C, компилятор неожиданно сказал мне, что A не может быть скомпилирован. Поскольку A никак не зависит от C, это не имеет никакого логического смысла. На самом деле я бы сказал, что это ошибка компилятора. Это случалось со мной несколько раз, и это очень расстраивает, потому что это означает, что мне нужно снова изменить A и снова изменить всю иерархию классов.
Есть ли способ заставить компилятор Scala (в Eclipse) дать мне надежный результат? Я единственный, кто получает такое поведение?