由: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,PersistentQueue实现Obj的事实并没有阻碍它的使用。)
请对这种方法进行评论,并说明它与这里之前的补丁和CLJ-1070的补丁有何不同。