-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New macro utils #8219
New macro utils #8219
Conversation
r? @llogiq (rust-highfive has picked a reviewer for you, use r? to override) |
Wow, that's a rather big one. Will take me a while to review, but I'm on it. |
Hat's off. This looks great. I found the macro origin messages annoying when I updated the test suite to the 2021 edition. And now they're gone. Thank you! @bors r+ squash |
📌 Commit 497e879 has been approved by |
New macro utils changelog: none Sorry, this is a big one. A lot of interrelated changes and I wanted to put the new utils to use to make sure they are somewhat battle-tested. We may want to divide some of the lint-specific refactoring commits into batches for smaller reviewing tasks. I could also split into more PRs. Introduces a bunch of new utils at `clippy_utils::macros::...`. Please read through the docs and give any feedback! I'm happy to introduce `MacroCall` and various functions to retrieve an instance. It feels like the missing puzzle piece. I'm also introducing `ExpnId` from rustc as "useful for Clippy too". `@rust-lang/clippy` Fixes #7843 by not parsing every node of macro implementations, at least the major offenders. I probably want to get rid of `is_expn_of` at some point.
So much for that 😆 thanks! |
☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test |
Well, I had a few log-running tests. 😆 |
Hmm Github doesn't see that this is merged. |
changelog: none
Sorry, this is a big one. A lot of interrelated changes and I wanted to put the new utils to use to make sure they are somewhat battle-tested. We may want to divide some of the lint-specific refactoring commits into batches for smaller reviewing tasks. I could also split into more PRs.
Introduces a bunch of new utils at
clippy_utils::macros::...
. Please read through the docs and give any feedback! I'm happy to introduceMacroCall
and various functions to retrieve an instance. It feels like the missing puzzle piece. I'm also introducingExpnId
from rustc as "useful for Clippy too". @rust-lang/clippyFixes #7843 by not parsing every node of macro implementations, at least the major offenders.
I probably want to get rid of
is_expn_of
at some point.