Closed RickMoynihan closed 5 years ago
The functions map-vals, map-keys and map-kv all raise an error when called on a record e.g.
map-vals
map-keys
map-kv
(defrecord Foo [bar])
(medley/map-vals str (->Foo 1))
Raises the exception below because reduce-map calls empty on the record.
reduce-map
empty
1. Unhandled java.lang.UnsupportedOperationException Can't create empty: user.Foo REPL: 214 userl.Foo/empty core.clj: 5043 clojure.core/empty core.clj: 5037 clojure.core/empty core.cljc: 50 medley.core$reduce_map/invokeStatic core.cljc: 47 medley.core$reduce_map/invoke core.cljc: 73 medley.core$map_vals/invokeStatic core.cljc: 70 medley.core$map_vals/invoke REPL: 218 user/eval36135 REPL: 218 user/eval36135 Compiler.java: 6927 clojure.lang.Compiler/eval Compiler.java: 6890 clojure.lang.Compiler/eval core.clj: 3105 clojure.core/eval core.clj: 3101 clojure.core/eval main.clj: 240 clojure.main/repl/read-eval-print/fn main.clj: 240 clojure.main/repl/read-eval-print main.clj: 258 clojure.main/repl/fn main.clj: 258 clojure.main/repl main.clj: 174 clojure.main/repl RestFn.java: 137 clojure.lang.RestFn/applyTo core.clj: 646 clojure.core/apply core.clj: 641 clojure.core/apply regrow.clj: 18 refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn RestFn.java: 1523 clojure.lang.RestFn/invoke interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 646 clojure.core/apply core.clj: 1881 clojure.core/with-bindings* core.clj: 1881 clojure.core/with-bindings* RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn AFn.java: 22 clojure.lang.AFn/run ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run Thread.java: 745 java.lang.Thread/run
The functions
map-vals
,map-keys
andmap-kv
all raise an error when called on a record e.g.(defrecord Foo [bar])
(medley/map-vals str (->Foo 1))
Raises the exception below because
reduce-map
callsempty
on the record.