请分享您的想法,参加2024年Clojure状态调查!

欢迎!有关如何工作的更多信息,请参阅关于页面。

0
core.typed

错误信息是
bq. 在多方法'method'中没有与分发值::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)))

(def 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 报告)
...