fix: Fix more path resolution for included submodules #17660
Merged
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.
Now with more comprehensive testing! This adds tests for includes within modules. Previous testing was not comprehensive enough since submodules that use
include!
didn't actually work either! TheModDir
used for resolving mods relative to included files has to beModDir::root()
. The original test just so happened to put the submodules in the root which made this work, but if you put theinclude!
inside amod
block it didn't work.With this change, when collecting a macro expansion, if the macro call is an
include!
, we use theModDir::root()
instead of the current module we're in.