[Fix #341] Remove ^:const
metadata prior to processing a given form
#363
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
^:const
is not part of any public API described in https://github.com/clojure/clojure-site.However usage of it can be still found in the wild, perhaps influenced by past knowledge.
#341 showed that attempting to process a defn having
^:const
would throw an exception.This commit proposes removing that piece of metadata, since it doesn't alter semantics and saves the effort of investigating a more intrincate integration with tools.analyzer (for what I believe is not a public API anyway).
It's worth noting that https://clojure.org/reference/compilation#directlinking is a public API,
and something that can be used in production environments instead of
^:const
, without fearing a clash with Eastwood whatsoever.Fixes #341