为什么 mutable.IndexedSeqLike 不扩展 mutable.SeqLike?

Why doesn't mutable.IndexedSeqLike extend mutable.SeqLike?

据我所知,如果 mutable.IndexedSeqLike 扩展 mutable.SeqLike,则不会发生声明冲突。缺少继承是增量设计的产物,还是实际决定?

可能是前者,在 this changeVector 变为 IndexedSeq

SeqLike 已创建 subsequently to patch an oversight

碰巧IndexedSeqLike的抽象方法比SeqLike少,因为迭代是根据索引定义的。所以没有动力去扩展它。

添加了 SeqLike.transform 方法 with a bunch of unrelated changes,因此这不一定会推动接口的统一。

*Like 特征只是实现模板。 collection.IndexedSeqLike 确实继承了 collection.SeqLike 的行为。

不要不必要地扩展特征的一个原因是它可能会改变线性化顺序,即使所有实际的具体实现都混合在特征中。