clojurescript 2025-07-18

I found a bug in Clojurescript 1.12.38, note the var with a -, and the var with an _ If I destructure it differently, ie. {pid :product_uuid} it does work, also if you run the code below in a Clojure REPL it also works.

(defn f [product-uuid]
    (mapv (fn [{:keys [product_uuid] :as x}]
            (when (= product-uuid product_uuid)
              x))
          [{:product_uuid 1}]))

  (f 1) ;; => [{:product_uuid 1}]

  ;; should be [nil]
  (f 2) ;; actually is => [{:product_uuid 1}]

This is probably the worst place to post this, but it was a confusing 30 minutes before I figured out what was going on :-)

tldr; _ = -