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