以下是一个最小测试用例,该测试用例产生了无效的 JavaScript
`
(defn f []
(let [a 0]
^{"meta" "data"}
(fn [] true)))
`
编译出的 JavaScript 包含无效的标记序列 "return return"。 (根据 Chrome:Uncaught SyntaxError: Unexpected token return)
如果元数据应用于映射字面量而不是函数字面量,则不会出现此问题。
只有当函数和元数据都在 let 中时,才会出现此问题。