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.
This turned into an all-in-one commit:
visit_mut_*
functions from VisitMut.The largest change is the fact that we perform most of the work directly
in the visitor functions. For applicable calls to
atom
(and friends)we replace the
CallExpr
right then and there. This makes it so thatwe don't need to deal with
export
handling, or accidentally replaceentire expressions with erroneous cached atoms (See e.g. the failing
test in #36). This also solves other open issues, like #26 , #34 , and #35 .
Fixes #26
Fixes #34
Fixes #35
I built this on top of #37, but I suppose technically speaking that's not necessary. This is a pretty large change, so if you think this is a direction to pursue it might make sense to rethink that change in the context of this anyways.
There's still some cleanup I can do, and probably a bunch of edge cases I've missed. I intend to look at these next.