型フィールドに別のクラスが混在するクラスの型があると言えるのはなぜですか (クラス内で特性のみを混在させることができるのに) ?
例:
scala> class A
defined class A
scala> class B extends A
defined class B
への混在は許可さB
れてA
いません:
scala> new A with B
<console>:10: error: class B needs to be a trait to be mixed in
new A with B
^
しかし、これは可能です:
scala> class E {type T = A with B}
defined class E
scala> new E
res1: E = E@1f2bc83