clj-condo为记录的重新定义的工厂函数重新定义了var警告



我使用defrecord表单在Clojure:中定义类型

(defrecord HideTableColumnMarker [columns-resize]
ControlMarker)

但我对defrecord表单中的默认工厂函数不满意,所以我用自己的实现覆盖它,以提供0-arity:

(defn ->HideTableColumnMarker
([] (HideTableColumnMarker. :cut))
([x] (HideTableColumnMarker. x)))

运行clj-kondo会产生一个重新定义的var错误:

src/stencil/types.clj:28:1: warning: redefined var #'stencil.types/->HideTableColumnMarker

这很有道理,但我是故意这么做的。我已经尝试在defn表单之前从命名空间中undefvar,但警告消息仍然存在。如何在不更改clj-kondo配置的情况下修复警告?

您可以在defn之前尝试#_:clj-kondo/ignore,它应该忽略以下表达式中的所有警告。

参见clj kondo文档