评论由:ppotter制作
附件: 002-make-PersistentQueue-implement-Asequential.diff
这个补丁是 001-make-PersistentQueue-implement-List.diff 的替代方案。
所以我考虑了你的建议,但我觉得直接让 PersistentQueue 实现 ISeq 似乎不是那么合适。
所以我将 ASeq 分成了两部分 —— 一部分是 ASequential,它实现了 j.u.{Collection,List} 并管理 List-equality 和 hashcodes;另一部分是 ASeq,老实说,它似乎没什么用。
作为附加功能,这个补丁还修复了 CLJ-1070,所以我添加了该票据的测试来说明这一点。它还通过删除所有的 equals/hashcCode 和所有 Collection 相关的内容来清理了 PersistentQueue。
(结果证明,因为 ASeq 已经实现了 Obj,所以 PersistentQueue 实现 Obj 并不影响其使用。)
请您对这种方法提出意见,并与上一个补丁以及CLJ-1070上的补丁有何不同。