欢迎!请参阅 关于 页面以了解有关该工作方式的更多信息。
当一个协议定义的方法有多个类型提示签名时,由于 `deftype` 会丢弃类型提示,因此无法使用 `deftype` 来实现它们。然后编译器会寻找合适的签名(即带有类型提示的签名),如果找不到它们就会抛出异常。
评论由 chrismgray 发布
Clojure-dev 讨论从这里开始:http://groups.google.com/group/clojure-dev/browse_thread/thread/1f106a21ec1ce3de
评论由 jafingerhut 发布
2012年8月19日发布的补丁 clj-957-allow-typehinting-of-method-signatures-in-deftype-patch2.txt 与 Chris Gray 于2012年3月22日发布的补丁 0001-Allow-for-typehinting-of-method-signatures-in-deftyp.patch 相同,除了它有一些更新过的上下文行,以便它可以干净地应用到最新的 master。