如何重现
(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 是否在作用域内?
提示:IFn 的注释是通过 check-ns、cf 或 typed-deps 找到的吗?
错误
期望的结果
正确返回类型。