Dlaczego mogę powiedzieć, że pole typu ma typ klasy z inną mieszaną klasą (gdy tylko klasy mogą być mieszane w klasie)?Dlaczego można mieszać w klasach w polu typu?
Przykład:
scala> class A
defined class A
scala> class B extends A
defined class B
Mieszanie w B
do A
nie jest dozwolone:
scala> new A with B
<console>:10: error: class B needs to be a trait to be mixed in
new A with B
^
Ale to jest możliwe:
scala> class E {type T = A with B}
defined class E
scala> new E
res1: E = [email protected]
Wygląda jak błąd. –