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

欢迎!请参阅关于页面以了解更多关于该平台的信息。

0
ClojureScript

如果一个函数有两个参数,其中一个调用了另一个,那么如果该函数被标记为^:deprecated,则在函数存在期间将总是发出编译警告关于弃用。例如:

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

(test-deprecated nil))

([a]

nil))

`

将生成以下日志

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

我认为只有对弃用函数的外部引用应该在这里警告。否则,不可能弃用一个多参数函数,还能进行干净的编译。

2 答案

0
_评论由:mfikes_发布_

一个解决方案:您可以使用{{^:deprecation-nowarn}}标记调用形式来抑制弃用警告。

适用于本票项中的示例


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