请在 2024 Clojure 状态调查 中分享您的想法!

欢迎!请查看 关于页面 获取有关此工作的更多信息。

0
core.typed

错误信息是
bq. 'check' 多方法中没有为分派值 ':reify' 的方法
下面的是一个无法通过的最小测试用例

`
(ns core-typed-bug.core
(:require [clojure.core.typed :refer :all]))

(ann-protocol ITypedTest

          get-data [ITypedTest -> Any])

(defprotocol> ITypedTest
(get-data [this]))

(ann typed-test [String -> ITypedTest])
(defn typed-test [input]
(reify ITypedTest

(get-data [_] input)))

(defn> testfn :- Any
[asdf :- Keyword, in :- ITypedTest]
(get-data in))
`

这可能与 bug 类似(链接: http://dev.clojure.org/jira/browse/CTYP-132 文本:CTYP-132)。

分支: https://github.com/clojure/core.typed/pull/28/files

3 个回答

0

评论由:jot1109

也在 clojure 1.5.1 和 core.typed 0.2.65 上

'check' 多方法中没有为分派值 ':reify' 的方法

0

评论由:donald.ball

这仍然存在于 core.typed 0.3.22 中,并且它是我一个库中仅用 ^:no-check 的原因。我像过去一样使用协议,并且大量依赖 reify,希望不需要规避它。

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