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:
Yogthos 2026-06-24 01:26:16 -04:00
parent 54c3c6dd2b
commit ea609d72eb
4 changed files with 670 additions and 660 deletions

File diff suppressed because one or more lines are too long