如果你来自 Java,你可能会期望 proxy-super 很安全,但实际上,proxy-super 通过在调用 proxy-super 之前修改代理对象,然后在调用之后恢复它来运作。这可能导致非常奇怪的行为。如果你有一个调用 proxy-super 的代理 M 方法,那么当 proxy-super 运行时,对该代理对象的所有对 M 的调用将立即调用超类 M 而不是代理 M。
使 proxy-super 安全(不仅仅是线程安全的,而是在相同调用堆栈中稍后被调用时也安全)可能真的很难,但会很不错。或者,在文档字符串中加入一些闪烁的危险灯信号可能是个好主意。