为什么我可以说一个类型字段具有混合到其中的另一个类的类的类型(只有特性可以在类中混合)?为什么可以在类型字段中的类中混合?
例子:
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 = [email protected]
看起来像一个bug给我。 –