fix MapEntry not found error in clj
This commit is contained in:
parent
2079b74271
commit
7ae8bed997
2 changed files with 13 additions and 5 deletions
|
|
@ -105,11 +105,13 @@
|
||||||
(if (destructuring-pair? arg)
|
(if (destructuring-pair? arg)
|
||||||
(let [[karg varg] arg]
|
(let [[karg varg] arg]
|
||||||
`([~acc ~karg ~varg] ~@body))
|
`([~acc ~karg ~varg] ~@body))
|
||||||
`([~acc k# v#] (let [~arg
|
(let [k (gensym "k__")
|
||||||
(macros/case
|
v (gensym "v__")
|
||||||
:clj (clojure.lang.MapEntry. k# v#)
|
arg-value (macros/case
|
||||||
:cljs [k# v#]
|
:clj `(clojure.lang.MapEntry. ~k ~v)
|
||||||
:cljd (MapEntry k# v#))] ~@body)))))
|
:cljs [k v]
|
||||||
|
:cljd `(MapEntry ~k ~v))]
|
||||||
|
`([~acc ~k ~v] (let [~arg ~arg-value] ~@body))))))
|
||||||
(not (arities 2)) (conj (let [[[acc karg varg] & body] (arities 3)]
|
(not (arities 2)) (conj (let [[[acc karg varg] & body] (arities 3)]
|
||||||
`([~acc [~karg ~varg]] ~@body))))]
|
`([~acc [~karg ~varg]] ~@body))))]
|
||||||
`(reify
|
`(reify
|
||||||
|
|
|
||||||
|
|
@ -158,3 +158,9 @@
|
||||||
'(a b) false
|
'(a b) false
|
||||||
'{foo bar} false
|
'{foo bar} false
|
||||||
'{foo :bar} false)))
|
'{foo :bar} false)))
|
||||||
|
|
||||||
|
(defmacro wraps-for-with-no-destructuring []
|
||||||
|
(x/into [] (x/for [x (range 5)] x)))
|
||||||
|
|
||||||
|
(deftest for-in-macro
|
||||||
|
(is (= [0 1 2 3 4] (wraps-for-with-no-destructuring))))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue