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)

;; 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)

;; 标识符集合
`

1 个答案

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