scala> class C
defined class C
scala> class subC extends C
defined class subC
scala> class A { type T = C}
defined class A
scala> class subA extends A { override type T = subC}
<console>:10: error: overriding type T in class A, which equals C;
type T has incompatible type
class subA extends A { override type T = subC}
^
В приведенном выше примере появляется сообщение об ошибке, что я не могу переопределить поле типа в классе A
(даже если выбранный тип subC
расширяет класс C
).
Является ли переопределение поля типа вообще возможным? И если да, что не так с приведенным выше примером?