clojure.reflect protocol meta regression

Description

Two users have reported regressions from the protocol meta added to clojure.reflect returns in Clojure 1.10.

The shortest repro is something like this:

The actual cases where this is happening are uses of clojure.reflect in values returned by macro (see https://groups.google.com/forum/#!msg/clojure/pxLN9tYti4c/zbhLCOrTBgAJ for one example).

Cause: Class symbols returned from clojure.reflect are now adorned with meta like:

which has an embedded datafy function. The compiler emits this into the compiled class pool (MetaExpr wrapping the object).

Workaround: A workaround is to strip the meta from the symbols inside the macro and return the stripped symbol.

Environment

None

Assignee

Unassigned

Reporter

Alex Miller

Approval

Triaged

Patch

None

Affects versions

Priority

Critical
Configure