786f874c34
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.
20 lines
374 B
TOML
20 lines
374 B
TOML
[package]
|
|
name = "clippy_utils"
|
|
version = "0.1.59"
|
|
edition = "2021"
|
|
publish = false
|
|
|
|
[dependencies]
|
|
arrayvec = { version = "0.7", default-features = false }
|
|
if_chain = "1.0"
|
|
rustc-semver = "1.1"
|
|
|
|
[features]
|
|
deny-warnings = []
|
|
internal-lints = []
|
|
metadata-collector-lint = []
|
|
|
|
[package.metadata.rust-analyzer]
|
|
# This crate uses #[feature(rustc_private)]
|
|
rustc_private = true
|