如果一个函数有两种参数数量,其中一个调用了另一个,那么如果该函数使用^:deprecated
标记,则在函数存在期间会始终发出弃用警告。例如:
`
(defn ^:deprecated test-deprecated
([]
(test-deprecated nil))
([a]
nil))
`
会产生以下日志
WARNING: my.test/test-deprecated在行 3src/my/test/error.cljs 已弃用。
我认为这里只应该警告对弃用函数的外部引用。否则,将无法弃用一个多参数函数并仍然获得干净的编译。