评论由:jafingerhut
好吧,我写了一个程序来检查我的:added 注释是否具有正确的版本号,并且编写了一些代码来检查 所有 公共变量,或者至少是 public-vars-with-docstrings-have-added deftest 做的变量,以查看它们在哪些公开版本 Clojure 中成功地解析,以及它们在哪些版本中不uro(或它们的命名空间在该版本的 Clojure 中还不存在)。
通过该程序证实了补丁 clj-2519-v2.patch 中的所有:added 元数据都带有正确的版本号。
我发现有24个公共变量可能没有正确的:added版本号,但它们都是:added版本为"1.3"或更早的情况,更正后的版本也将是"1.3"或更早。对这些更正感兴趣吗?
示例:所有这些变量的:added都是"1.0",但很可能是从没有"-int"后缀的类似名称功能的实现中复制的。有"-int"后缀的名称实际上是在Clojure 1.3中添加的。
unchecked-add-int
unchecked-dec-int
unchecked-divide-int
unchecked-inc-int
unchecked-multiply-int
unchecked-negate-int
unchecked-remainder-int
unchecked-subtract-int
对于inc和inc',当inc'最初在Clojure 1.2之前很久就添加时,inc有:added "1.0"和inc'有:added "1.2",这是正确的。在1.3发布之前某个时候,这两个功能定义的名称被交换了,但:added值仍与函数的实现主体保持一致。从那时起,我们就有:added "1.2"的inc和:added "1.0"的inc'。我相信对于名字末尾有单引号的其他功能也是这样。