如何重现
(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的注解?
错误
期望结果
正确返回类型。