评论者:bronsa
这是由于Clojure如何将-
简单地转换为_
导致的 - 触发类似错误的另一种方式是
user=> (deftype x [a_b a-b]) 语法错误(ClassFormatError)在编译 dectype* 时出错(REPL:1:1)。类文件compile__stub/user/x中存在重复的字段名"a_b"和签名"Ljava.lang.Object;"
修复此问题需要更改Clojure过去十年中使用的名称转换方案,这可能会产生一些严重的意外后果,不确定这是否可行