请分享您的想法,参加2024 年 Clojure 状态调查!

欢迎!请参阅关于 页面获取更多关于如何使用本站的信息。

+1
Collections
已关闭
空集合中的元数据丢失


user=> (meta '^:foo [])
nil   ;; 预期结果为 {:foo true},如下所示
user=> (meta '^:foo [1])
{:foo true}


此错误会传播到 ^:const 变量

user=> (def ^:const foo ^:foo [])
#'user/foo
user=> (meta foo)
nil
user=> (meta @#'foo)
{:foo true}


*原因:* 与 CLJ-1093 类似,空集合被替换为丢失元数据的 EmptyExpr

*建议:* 如果存在元数据,则不要替换为 EmptyExpr

*补丁:* 0001-Support-retrieval-of-metadata-from-quoted-empty-lite.patch

*审核人:**
以以下注释关闭:已发布

19 答案

0

评论者:sohta

这个缺陷是否有望修复?我最近遇到了它。

0
评论者:alexmiller

经过Rich的审查,该问题已进入考虑阶段。
0

评论者:sohta

耶!希望一切顺利:)

0
参考: https://clojure.atlassian.net/browse/CLJ-1187(由bronsa报告)
...