(let [i 5] (defmacro m [& args] args) (def x (m (inc 5) (inc 6) (inc 7))) [x m (meta #'m)])
是
[(8) #<user$eval522$m__523 user$eval522$m__523@11a74355> {:macro true, :ns #<Namespace user>, :name m, :arglists ([& args]), :line 1, :file "NO_SOURCE_PATH"}]
尽管存在元数据,它似乎仍然将 m 解析为函数。这种行为仅在 (let ...) 内出现。