评论者: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]))
这将比现有的补丁表现得更好。