These two expressions have a different result:
((with-meta
^:any (fn self []
(meta self))
{:foo :bar}))
((with-meta
(fn self []
(meta self))
{:foo :bar}))
The former returns {:foo :bar}
the latter returns nil
.
I'm guessing this is a bug, perhaps an unexpected consequence of an optimization?
(Filed: https://clojure.atlassian.net/browse/CLJ-2539)