2024 年 Clojure 状态调查!分享你的想法。

欢迎!请访问关于页面,获取更多关于这是如何运作的信息。

0
core.typed

目前应用关键字参数不正确。

要重现

`
(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)

;; 在: (clojure.core/cons m args)

;; 在: (clojure.core/empty? (clojure.core/apply bouncer.core/fn2 (clojure.core/cons m args)))

;; [2 次]
;; [2 次]
;; 类型错误 (bouncer.core:2:17) apply 的参数不好

;; 目标: (Fn [(HMap :mandatory {}) & {} -> []])

;; 参数: 错误

;; 在: (clojure.core/empty? (clojure.core/apply bouncer.core/fn2 (clojure.core/cons m args)))

;; [2 次]
;; [2 次]
;; 异常信息类型检查器:在 core.clj:4327 找到 2 个错误 clojure.core/ex-info

;; 标记集
`

1 个答案

0
参考:https://clojure.atlassian.net/browse/CTYP-76(由 alex+import 报告)
...