{quote}
(def ^:dynamic foo 42)
(go
(let (link: old foo)
(set! foo 45)
(println old foo)
(set! foo old)))
{quote}
绑定的值为45(与绑定+with-redefs相同)。问题是let绑定不知何故内联了对foo的引用。例如,println语句编译为
{quote}
...
var inst_43089 = cljs.core.println.call(null,full.async.foo,full.async.foo);
...
{quote}
我目前正在查看ioc_macros.clj,但尚未找到问题所在。任何提示都很有帮助。