据我所见,如果mutable.IndexedSeqLike
延长mutable.SeqLike
,则不会发生任何声明冲突。缺少继承是增量设计的工件,还是实际决策?
答案 0 :(得分:1)
可能是前者,this change时Vector
成为IndexedSeq
。
SeqLike
已创建subsequently以修补an oversight。
恰好IndexedSeqLike
抽象方法少于SeqLike
,因为迭代是根据索引定义的。所以没有动力去扩展它。
SeqLike.transform
方法已添加with a bunch of unrelated changes,因此不一定会推动统一接口。
*Like
特征仅仅是实现模板。 collection.IndexedSeqLike
确实从collection.SeqLike
继承了行为。
不必不必要地扩展特征的一个原因是它可以改变线性化顺序,即使所有实际的具体实现确实混合了特征。