about summary refs log tree commit diff
diff options
context:
space:
mode:
authorllogiq <bogusandre@gmail.com>2025-08-26 18:02:04 +0000
committerGitHub <noreply@github.com>2025-08-26 18:02:04 +0000
commit9bfa95b6b310952fabe94b21d37aa0a61779c47d (patch)
tree9cbf7a4cdc9f468c6a60353e3e6eeed6343bb53e
parentc394c00ae0bf224735907ea1cd0cc421db337d64 (diff)
parenta16500853434c8f38c14d6204457dc922a3c77ac (diff)
Allow `--print=crate-root-lint-levels` (#15567)
rust-lang/rust-clippy#13468 delegated all `--print` requests to `rustc`;
this PR adds an exception to `crate-root-lint-levels`
(rust-lang/rust#139180), i.e.:
```
$ rustc -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
230
$ clippy-driver -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
230
$ cargo run --bin clippy-driver -- -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
1020
```
So as to have a way to print all Clippy lint levels in a
machine-readable format.

----

changelog: none
-rw-r--r--src/driver.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/driver.rs b/src/driver.rs
index c4076cbaa77..6bddcbfd94c 100644
--- a/src/driver.rs
+++ b/src/driver.rs
@@ -330,7 +330,8 @@ pub fn main() {
 
         // Do not run Clippy for Cargo's info queries so that invalid CLIPPY_ARGS are not cached
         // https://github.com/rust-lang/cargo/issues/14385
-        let info_query = has_arg(&orig_args, "-vV") || has_arg(&orig_args, "--print");
+        let info_query = has_arg(&orig_args, "-vV")
+            || arg_value(&orig_args, "--print", |val| val != "crate-root-lint-levels").is_some();
 
         let clippy_enabled = !cap_lints_allow && relevant_package && !info_query;
         if clippy_enabled {