Skip to content

New macro utils - #8219

Closed
camsteffen wants to merge 18 commits into
rust-lang:masterfrom
camsteffen:macro-decoupling
Closed

camsteffen wants to merge 18 commits into
rust-lang:masterfrom
camsteffen:macro-decoupling

Conversation

@camsteffen

@camsteffen camsteffen commented Jan 3, 2022 •

Copy link
Copy Markdown
Contributor

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.

@rust-highfive

Copy link
Copy Markdown

r? @llogiq

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties label Jan 3, 2022
@llogiq

llogiq commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

Wow, that's a rather big one. Will take me a while to review, but I'm on it.

@llogiq

llogiq commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

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

@bors

bors commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

📌 Commit 497e879 has been approved by llogiq

@bors

bors commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

⌛ Testing commit 497e879 with merge ba03dc7...

bors added a commit that referenced this pull request Jan 4, 2022
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.
@camsteffen

Copy link
Copy Markdown
Contributor Author

Will take me a while to review

So much for that 😆 thanks!

@bors

bors commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test
Approved by: llogiq
Pushing ba03dc7 to master...

@bors bors mentioned this pull request Jan 4, 2022
@llogiq

llogiq commented Jan 4, 2022

Copy link
Copy Markdown
Contributor

Well, I had a few log-running tests. 😆

@camsteffen

Copy link
Copy Markdown
Contributor Author

Hmm Github doesn't see that this is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clippy breaks when we change anything about the std macros

4 participants