ClojureScript似乎不完全支持将:arglists元数据设置到函数中。特别是,当实际参数列表包含'&'时,它似乎会失败。
在Clojure中,
(:arglists (meta (defn f {:arglists '([x])} [& a] a)))
返回 ([x])。但在ClojureScript中,它返回 ([& a])
请注意,简单的形式工作正常
(:arglists (meta (defn f {:arglists '([x])} [a] a)))
这两个环境中都返回 ([x])
(在ClojureScript 1.9.908和Clojure 1.9.0-alpha17中测试)