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

欢迎!请访问关于页面以获取更多关于此如何工作的信息。

0
core.typed
如何重现


(require 'clojure.core.typed)
(clojure.core.typed/cf (clojure.core.typed/defn foo [] sort-by))


这似乎在某些现有REPL环境中容易重现,具体取决于您过去的运行情况。这个方法可以持续重现这个问题


docker run -i -t clojure bash
echo '{:user {:plugins [[lein-try "0.4.3"]]}}' > ~/.lein/profiles.clj
lein try org.clojure/core.typed

(require 'clojure.core.typed) ;; 不与refer all一起使用不工作
(clojure.core.typed/cf (clojure.core.typed/defn foo [] sort-by))


观察结果


初始化core.typed ...
构建core.typed基础环境 ...
完成基础环境构建
"已用时间:5836.201655毫秒"
core.typed已初始化。
已弃用的语法(/tmp/form-init6540853594514266546.clj:1:24):所有语法均已弃用,请使用clojure.core.typed/All
类型错误(/tmp/form-init6540853594514266546.clj:1:24)内部错误(/tmp/form-init6540853594514266546.clj:1:24)无法解析类型:IFn
提示:IFn 是否在作用域内?
提示:是否通过check-ns, cf或typed-deps找到了IFn的注解?
错误


期望结果

正确返回类型。

3 个回答

0

评论由:apiology

嘿!我刚刚使用上述Docker配方(使用当前版本的org.clojure/core.typed)重现了这个问题。您试过使用Docker配方吗?建议重新打开。

0

评论由:ambrosebs

谢谢,我很感激您的跟进!我认为CLJ和CLJS检查器之间共享的某些基础类型环境子系统存在问题。

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