评论由:jafingerhut 提出
这个评论与票据CLJ-1604尤其相关,其中已复制此内容
Tom,我查看了你的项目。感谢你。其中似乎没有类似(def inc inc)的东西。在我这里,始终在 'lein do clean, uberjar, test' 测试步骤中抛出异常,但只显示警告并通过 'lein do clean, test' 运行。我还有更多的测试结果显示这些结果在不同版本的Clojure中有何变化。总结来说,对Clojure的以下更改似乎在结果中差异最大(这些应添加到您创建的新票据中 — 您可以这样做)
Clojure 1.6.0、1.7.0-alpha1和以后的特征直到提交描述为“CLJ-1378:允许FnExpr使用类型提示来覆盖其报告的类”:上面两个lein命令都没有错误或警告。
下一个提交描述为“添加clojure.core/update,类似于update-in,但只接受一个键”的提交添加了clojure.core/update:‘lein do clean, test’一切正常,但 'lein do clean, uberjar' 在编译时抛出异常,可能是由于CLJ-1241。
下一个提交描述为“修复CLJ-1241”: 'lein do clean, test' 和 'lein do clean, uberjar' 关于clojure.core/update的给出警告,但没有错误或异常。 'lein do clean, uberjar, test' 在与Clojure 1.7.0-alpha4相同的测试步骤中抛出异常。在data.int-map内部打印的clojure.core/update和int-map/update(在data.int-map和Tom的命名空间compiler-update-not-referenced-bug.core中)的调试打印显示,在data.int-map内部打印是正常的,在Tom的命名空间内(在不进行uberjar的情况下)也是正常的。但是,在进行uberjar和测试时,Tom的命名空间中的int-map/update未绑定。
如果这有区别的话,我的测试是在Mac OS X 10.9.5、Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM上的Leiningen 2.5.0上进行的。