评论者:ppotter
附加文件:002-make-PersistentQueue-implement-Asequential.diff
此补丁是 001-make-PersistentQueue-implement-List.diff 的替代方案
所以我考虑到你关于 ASeq 的看法,但我觉得直接让 PersistentQueue 实现 ISeq 并不完全合适。
所以我将 ASeq 分成两部分——ASequential,它实现了 j.u.{Collection,List} 并管理 List-equality 和 hashcodes;以及 ASeq,它……坦白说,似乎不再做什么了。
作为额外的奖励,此补丁还修复了 CLJ-1070,因此我添加了该票据的测试来证明这一点。它还通过删除所有 equals/hashcCode 东西和所有 Collection 东西来整理 PersistentQueue。
(结果证明,由于ASeq已经实现了Obj,持久队列实现Obj实际上并没有成为使用它的障碍。)
欢迎对这个方法提出评论,以及它与之前这个补丁和CLJ-1070上的补丁有何不同。