diff --git a/CHANGES.md b/CHANGES.md index 4d14937..e0beedc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,7 @@ +## 1.1.2-SNAPSHOT + +* Eliminate reflection warning + ## 1.1.1 - 2018-04-23 * ClojureScript 1.10 introduced a change causing the `walker` navigator to fail to walk records. `ALL` has been updated to operate over `MapEntry` in ClojureScript, fixing the issue. diff --git a/src/clj/com/rpl/specter/impl.cljc b/src/clj/com/rpl/specter/impl.cljc index af787a8..6b34a1e 100644 --- a/src/clj/com/rpl/specter/impl.cljc +++ b/src/clj/com/rpl/specter/impl.cljc @@ -319,6 +319,17 @@ (get-cell cell) )))) +#?( +:clj +(defn- call-reduce-interface [^clojure.lang.IReduce traverser afn start] + (.reduce traverser afn start) + ) + +:cljs +(defn- call-reduce-interface [^cljs.core/IReduce traverser afn start] + (-reduce traverser afn start) + )) + (defn do-compiled-traverse [apath structure] (let [traverser (do-compiled-traverse* apath structure)] (reify #?(:clj clojure.lang.IReduce :cljs cljs.core/IReduce) @@ -327,7 +338,7 @@ (#?(:clj .reduce :cljs -reduce) this afn (afn))) (#?(:clj reduce :cljs -reduce) [this afn start] - (let [res (#?(:clj .reduce :cljs -reduce) traverser afn start)] + (let [res (call-reduce-interface traverser afn start)] (unreduced res) )))))