This commit is contained in:
nathanmarz 2016-12-03 11:05:06 -05:00
parent 3766a3fcc1
commit 4ad0f79643
3 changed files with 14 additions and 3 deletions

View file

@ -2,6 +2,7 @@
* Bug fix: Fix race condition relating to retrieving path from cache and AOT compilation
* Bug fix: LAST no longer converts lists to vectors
* Bug fix: Workaround issue with aot + uberjar
## 0.13.1

View file

@ -260,7 +260,7 @@
(i/intern* *ns* cache-sym (i/mutable-cell)))
`(let [info# ~get-cache-code
^com.rpl.specter.impl.CachedPathInfo info#
info#
(if (nil? info#)
(let [~info-sym (i/magic-precompilation
~prepared-path
@ -271,8 +271,8 @@
~info-sym)
info#)
~precompiled-sym (.-precompiled info#)
dynamic?# (.-dynamic? info#)]
~precompiled-sym (i/cached-path-info-precompiled info#)
dynamic?# (i/cached-path-info-dynamic? info#)]
(if dynamic?#
~handle-params-code
~precompiled-sym))))

View file

@ -428,6 +428,16 @@
[dynamic? precompiled])
;; these are defined to avoid having to type-hint the CachedPathInfo
;; in com.rpl.specter/path, which causes problems during aot/uberjar
;; (clojure seems to be defining CachedPathInfo multiple times)
(defn cached-path-info-precompiled [^CachedPathInfo c]
(.-precompiled c))
(defn cached-path-info-dynamic? [^CachedPathInfo c]
(.-dynamic? c))
(defn filter-select [afn structure next-fn]
(if (afn structure)
(next-fn structure)