If a function has two arity's where one calls the other, then if that function is marked with ^:deprecated
, then compile warnings about deprecations will always be emitted while that function exists. E.g.
`
(defn ^:deprecated test-deprecated
([]
(test-deprecated nil))
([a]
nil))
`
produces these logs:
WARNING: my.test/test-deprecated is deprecated. at line 3 src/my/test/error.cljs
I think that only outside references to a deprecated function should warn here. Otherwise, it's impossible to deprecate a multi-arity function and still get clean compiles.