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