欢迎!有关如何工作的更多信息,请参阅 关于 页面。
extend-type 可以用非常量表达式作为它的类型
(extend-type (class 1) proto (protof [this]))
然而,在这种情况下,这将带有 (class 1) 标签名,这是明显错误的;文档明确表示参数将适当地进行类型提示:“(链接: ..) 将类作为类型提示传递到所有函数的第一个参数。”
(class 1)
我不知道 extend-type 是否不应该与非常量 Class 一起工作,如果是这样,则应在文档中声明,或者当前行为是否错误。
由 jafingerhut 发布的评论
Eastwood 约 0.2.1 版本(或可能需要等待尚未发布的 0.2.2 版本)将警告此类不正确的标签,如果启用了 :wrong-tag 代码检查器 - 默认情况下它是启用的。Eastwood 文档中关于此代码检查器的部分有一个关于 extend-type 和 extend-protocol 的特定子部分,主要是为了让 Andy 有一个地方可以稍后参考,当他又忘记了细节。
https://github.com/jonase/eastwood#wrong-tag
(您需要滚动一页或两页才能到达关于 extend-type / extend-protocol 的子部分)