clojure/core.rrb-vector 在 ClojureScript 中实现了 MapEntry 协议,看起来在传递给 (vec ...) 时会导致错误的结果(它首先检查输入是否为 MapEntry)。
(vec (range 10))
[0 1 2 3 4 5 6 7 8 9]
>(rrb/vec (range 10))
[0 1 2 3 4 5 6 7 8 9]
(vec (rrb/vec (range 10)))
[0 1] <------- !!!!!!!!!
(seq (rrb/vec (range 10)))
(0 1 2 3 4 5 6 7 8 9)
(map-entry? (rrb/vec (range 10)))
true <------- !!!!!!!!!
(map-entry? (vec (range 10)))
false