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

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

0
ClojureScript

如果一个函数有两种参数数量,其中一个调用了另一个,那么如果该函数使用^:deprecated标记,则在函数存在期间会始终发出弃用警告。例如:

`
(defn ^:deprecated test-deprecated
([]

(test-deprecated nil))

([a]

nil))

`

会产生以下日志

WARNING: my.test/test-deprecated在行 3src/my/test/error.cljs 已弃用。

我认为这里只应该警告对弃用函数的外部引用。否则,将无法弃用一个多参数函数并仍然获得干净的编译。

2 答案

0
_评论由:mfikes_

解决方案:可以通过标记调用形式为{{^:deprecation-nowarn}}来抑制弃用警告。

应用于此票的示例


(defn ^:deprecated test-deprecated
  ([]
    ^:deprecation-nowarn (test-deprecated nil))
  ([a]
    nil))
0
...