因此,我这里有这段代码
(defn- nanos->ms [elapsed-time]
(double (/ elapsed-time 1000000)))
即使设置为 (set! *warn-on-reflection* true)
,代码也可以顺利编译。
但当我使用 tools.namespace.repl/refresh
时,我会收到反射警告
Reflection warning: file:....metrics.clj:6:3 - call to static method doubleCast on clojure.lang.RT cannot be resolved
我的假设是我触发了 double
的内联版本,而这不是类型提示的。
这会正确吗?如果是这样,我该如何移除这个反射警告呢?
(defn double
"Coerce to double"
{:inline (fn [x] `(. clojure.lang.RT (doubleCast ~x)))
:added "1.0"}
[^Number x] (clojure.lang.RT/doubleCast x))