请在2024 Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面以获取有关该功能的更多信息。

0
ClojureScript

ChunkedCons存在一个bug。在Clojure中,ChunkedCons(正确地)总是在chunked-next中调用{{seq}}。在CLJS中则没有这样做。但是由于ChunkedCons需要是惰性的,它几乎总是以一个(空)惰性序列作为“更多”部分。

bug

`
(-> (map inc (vec (range 64)))

seq
chunk-next
seq
chunk-next)

`

返回一个空序列而不是nil。由于还没有任何东西在ChunkedCons上调用chunk-next,因此此问题尚未暴露。

7 答案

0

由:aralo 评论

发现了另一个暴露出来的bug:当前实现调用{{-seq}}在{{more}}上,而{{more}}可能是nil,这可能会导致崩溃。因此,补丁也对{{-next}}做了小小的修改,使其也仅在{{more}}上调用{{seq}}。相当直接。

0

由:dnolen 评论

这个补丁需要一个测试。

0

由:aralo 评论

添加了测试。

0

由:mfikes 评论

patch does not apply

0

由:aralo 评论

补丁已重新合并

0

由:mfikes 评论

补丁不再适用。

0
参考信息:https://clojure.atlassian.net/browse/CLJS-2469 (由aralo报告)
...