如果一个函数有两个arity,其中一个函数调用另一个,那么如果该函数被标记为^:deprecated
,则该函数存在时,总会发出关于弃用警告的编译警告。例如:
`
(defn ^:deprecated test-deprecated
([]
(test-deprecated nil))
([a]
nil))
`
将产生这些日志
WARNING:my.test/test-deprecated已弃用。在src/my/test/error.cljs的第3行
我认为这里只应该警告有关弃用函数的外部引用。否则,将无法弃用多arity函数并仍然进行干净的编译。