clojure.walk: preserve record types
walk treated a record as a plain map (record? implies map?), rebuilding it via (into (empty form) ...) which yields a bare map and drops the type. Add a record branch before the map branch that conj-es the walked entries back onto the original, matching JVM clojure.walk's IRecord case. Type-dispatched walks need it — integrant resolves #ig/ref by detecting its Ref record while postwalking the config, so without this every ref silently fails to resolve. clojure.walk is baked into the prelude, so the seed is re-minted. Corpus gains five JVM-certified rows for record type/instance? survival through pre/postwalk.
This commit is contained in:
parent
54c3c6dd2b
commit
ea609d72eb
4 changed files with 670 additions and 660 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue