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 中测试)