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

欢迎!请查阅关于页面获取更多关于如何使用该网站的详细信息。

0
ClojureScript

目前定义如下:

(defn set! (link: ) ...)

这种定义不会产生任何警告。然而,任何对它的使用(没有 {{:as}} 命名空间别名)都不会使用定义的变量,而是使用 set! 特殊形式。

似乎应该发出警告。

5 个答案

0

评论者:anmonteiro

附上了修复和测试补丁。

0
_评论者:mfikes_

我知道 David 承认硬错误可能是处理此问题的正确方法,但一个后果是使用此更改启动cljs.spec/def宏将不再可能定义。(我没有彻底调查,但这可能仅仅是宏在启动过程中被处理为ClojureScript的结果,因此受到新保护的影响。)

不管根本原因是什么,如果你尝试运行 {{script/test-self-parity}}




#error {:message "无法评估.cljs.spec", :data {:tag :cljs/analysis-error}, :cause #error {:message "不能在行 51 定义特殊形式", :data {:file nil, :line 51, :column 1, :tag :cljs/analysis-error}}}
 

参考:当前行 51 指向的是 {{def}} 宏:https://github.com/clojure/clojurescript/blob/e2db5d9ff8cb6a099ebc2a8cd379385bf4649b38/src/main/cljs/cljs/spec.cljc#L51

0

评论者:mfikes

补丁不再适用。

0

评论者:ray.mcdermott

此任务指派给(链接:~anmonteiro),但似乎已经有一段时间没有动静了。

我可以接手它吗?

0
参考: https://clojure.atlassian.net/browse/CLJS-1474 (由martinklepsch报告)
...