Perché posso dire che un campo tipo ha il tipo di una classe con un'altra classe mista (quando solo i tratti possono essere mescolati in una classe)?Perché è possibile mischiare le classi in un campo tipo?
Esempio:
scala> class A
defined class A
scala> class B extends A
defined class B
miscelazione in B
-A
non è consentito:
scala> new A with B
<console>:10: error: class B needs to be a trait to be mixed in
new A with B
^
Ma questo è possibile:
scala> class E {type T = A with B}
defined class E
scala> new E
res1: E = [email protected]
Sembra un insetto per me. –