If I create (link: https://github.com/MichaelBlume/resolve-fail/blob/master/src/java/resolve_fail/Thing.java text: a class) with two methods, one of which takes (String, String), and the other taking (String, Number), and then write a function
(defn foo
[x ^String y]
(Thing/hello x y))
it seems obvious that I'm trying to call the first method and not the second. But on lein check, clojure prints
Reflection warning, resolve_fail/core.clj:6:3 - call to static method hello on resolve_fail.Thing can't be resolved (argument types: unknown, java.lang.String).
unless I also type-hint x.