2024 年 Clojure 状态调查! 中分享您的观点。

欢迎!请查阅 关于 页面以获取有关如何使用的更多信息。

0
core.rrb-vector

我在尝试冒险代码和第 19 题的第二部分。

我有一个程序,主要用于在 https://github.com/mattiasw2/adventofcode1/blob/master/src/adventofcode1/nineteen_b.clj 中进行 catvec + subvec 建议。

以下是最小的示例,运行时会失败

ArrayIndexOutOfBoundsException 33 clojure.core.rrb-vector.rrbt.Vector/fn--19277 (rrbt.clj:373)

(puzzle-b 978)

(我使用的是 (stest/check `puzzle-b) )


我用纯向量重新实现了这个程序,并且一切正常(除了我还没有能够运行大样本)

https://github.com/mattiasw2/adventofcode1/blob/master/src/adventofcode1/nineteen_c.clj

它运行正常。

6 答案

0
_由 michalmarczyk 评论:

嗨,感谢您的报告!我认为我正忙于修复这个问题 - 至少这看起来像是我正在解决的问题的表现形式,一旦补丁发布,它应该就会消失。我会查看的。
0

leif 评论:

我也有这个错误,尤其是对较大的向量(例如,大小 > 1000)进行了许多 subvec/catvec 操作后,特别是经常在向量中间插入元素的向量。

不幸的是,这使我目前无法使用这个库,但如果这个问题得到修复,我将很乐意重新切换回来 :)

0
_评论由:mattiasw_ 发布

我调试了collection-check,发现缺少require中的.core文件,请参阅https://github.com/mattiasw2/core.rrb-vector/commit/abef418cf6ceb7c293c54c224089b397990740bc

现在collection-check失败了

执行lein test :only clojure.core.rrb-vector-check/collection-check

在(collection-check) (rrb_vector_check.clj:8)处失败
期望: (assert-vector-like 250 (fv/vector) gen/int)
  实际:(not (assert-vector-like 250 [] #clojure.test.check.generators.Generator{:gen #object[clojure.test.check.generators$sized$fn__1400 0x354e7004 "clojure.test.check.generators$sized$fn__1400@354e7004"]}))

执行lein test clojure.core.rrb-vector-test

执行了12个测试,包含54个断言。
1个失败,0个错误。
测试失败。
0

评论由:mattiasw 发布

我在https://github.com/ztellman/collection-check/issues/17上询问如何获取更多信息以了解为何不是vector-like

0

评论由:jafingerhut 发布

Michal,你提到你在修复这个问题。我没有看到任何与那封邮件相关的相关提交。你是否有任何部分修复/改进的代码,其他人可以从中开始呢?当然,从现有的代码开始也是一种方法,但我很想知道你是否有一些线索或指向你调查的方向。

0
参考: https://clojure.atlassian.net/browse/CRRBV-14 (由 alex+import 报告)
...