评论者:bbloom
我查阅了这个工单,因为我遇到了一个反射警告:with-open 未提示其绑定 java.io.Closeable。
关于修正案的一些反馈
1) 这可能对依赖于 close 方法进行鸭子类型的任何人都构成破坏性变更。
2) CloseableResource 一点儿太长。clojure.core.protocols.Closeable 非常明确。
你不需要扩展 CloseableResource 至 java.io.Closeable,而是可以使用不广为人知(未记录?不受支持?)的 :on-interface 指令
(defprotocol Closeable :on-interface java.io.Closeable (close [this]))
这将比现有的修正案表现得更好。