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