评论者:bbloom
我查看了这个工单,因为我遇到了一个反射警告:with-open没有提示它与java.io.Closeable绑定。
关于补丁的一些反馈
1) 这将是一个破坏性的改动,因为它依赖于close方法的duck类型。
2) CloseableResource有点长。clojure.core.protocols.Closeable已经足够不明确了。
你不需要扩展CloseableResource到java.io.Closeable,你可以使用:
(defprotocol Closeable :on-interface java.io.Closeable (close [this]))
这将比现有的补丁表现得更好。