(defn a [x] (+ x 3))
(defn g [y] (* (a y) 3))
(defn a [x y] (* x y))
While clearly trivial, the point of this example is that g has been invalidated and is now incorrect because a has been redefined. It'd be really nice (in line with #136) if when compiling this second definition of a a warning that g is consequently impacted would be awesome.
The difficulty with this request is that it means that the :uses set needs to track used arities/signatures, not just used Vars.
Consider
While clearly trivial, the point of this example is that
g
has been invalidated and is now incorrect becausea
has been redefined. It'd be really nice (in line with #136) if when compiling this second definition ofa
a warning thatg
is consequently impacted would be awesome.The difficulty with this request is that it means that the
:uses
set needs to track used arities/signatures, not just used Vars.