应用关键字参数当前不正常工作。
重现代码
`
(cf (ann fn2 [(HMap :mandatory {}) & {} -> '[] ]))
(cf (defn fn2 [m & args]
[]))
(cf (ann fn1 [(HMap :mandatory {}) & {} -> Boolean ]))
(cf (defn fn1 [m & args]
(empty? (apply fn2 (cons m args)))))
;; 这就是它如何被使用的
(fn1 {} :a string? :b keyword? :c another-boolean-fn?)
;; 这是类型错误
;; 类型错误 (bouncer.core:2:28) 多态函数 clojure.core/cons 无法应用于参数
;; 多态变量
;; x
;; 定义域
;; x (Option (clojure.lang.Seqable x))
;; 参数
;; (HMap :mandatory {}) (KwArgsSeq)
;; 取值域
;; (clojure.lang.ASeq x)
;; in: (clojure.core/cons m args)
;; in: (clojure.core/empty? (clojure.core/apply bouncer.core/fn2 (clojure.core/cons m args)))
;; [2次]
;; [2次]
;; 类型错误 (bouncer.core:2:17) apply的参数有误
;; 目标: (Fn [(HMap :mandatory {}) & {} -> []])
;; 参数: Error
;; in: (clojure.core/empty? (clojure.core/apply bouncer.core/fn2 (clojure.core/cons m args)))
;; [2次]
;; [2次]
;; 异常信息类型检查器:找到2个错误 clojure.core/ex-info (core.clj:4327)
;; 标识符集合
`