about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNadir Fejzic <nadirfejzo@gmail.com>2021-07-27 11:13:42 +0200
committerNadir Fejzic <nadirfejzo@gmail.com>2021-07-27 11:13:42 +0200
commitf7af8bf2c1c361d7889f0edf398753bea97b8caa (patch)
treeb9490342894d8fbc641f00a23aa437fc83941fef
parent0e5802ef5de2ea13811be3febab3ca005eb6404f (diff)
downloadrust-f7af8bf2c1c361d7889f0edf398753bea97b8caa.tar.gz
rust-f7af8bf2c1c361d7889f0edf398753bea97b8caa.zip
Handle `--no-deps` flag same as `--fix` flag.
As proposed in the pull request thread, there is some inconsistency in
handling the `--no-deps` flag which requires `--` before it, and
`--fix` flag which does not.
In this commit the `--no-deps` flag does not need the `--` anymore.
However, it can still be used that way: `cargo clipyy -- --no-deps`.
-rw-r--r--src/main.rs9
-rw-r--r--tests/dogfood.rs2
2 files changed, 7 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index 8685c08cefe..7589f42a7b4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -19,8 +19,6 @@ Common options:
     -h, --help               Print this message
     -V, --version            Print version info and exit
 
-Note: --no-deps flag is used with `cargo clippy --`. Example: `cargo clippy -- --no-deps`
-
 Other options are the same as `cargo check`.
 
 To allow or deny a lint from the command line you can use `cargo clippy --`
@@ -75,6 +73,7 @@ impl ClippyCmd {
     {
         let mut cargo_subcommand = "check";
         let mut args = vec![];
+        let mut clippy_args: Vec<String> = vec![];
 
         for arg in old_args.by_ref() {
             match arg.as_str() {
@@ -82,6 +81,10 @@ impl ClippyCmd {
                     cargo_subcommand = "fix";
                     continue;
                 },
+                "--no-deps" => {
+                    clippy_args.push("--no-deps".into());
+                    continue;
+                },
                 "--" => break,
                 _ => {},
             }
@@ -89,7 +92,7 @@ impl ClippyCmd {
             args.push(arg);
         }
 
-        let mut clippy_args: Vec<String> = old_args.collect();
+        clippy_args.append(&mut (old_args.collect()));
         if cargo_subcommand == "fix" && !clippy_args.iter().any(|arg| arg == "--no-deps") {
             clippy_args.push("--no-deps".into());
         }
diff --git a/tests/dogfood.rs b/tests/dogfood.rs
index 7de130c7dbe..a996f9df144 100644
--- a/tests/dogfood.rs
+++ b/tests/dogfood.rs
@@ -76,8 +76,8 @@ fn test_no_deps_ignores_path_deps_in_workspaces() {
         .env("CARGO_INCREMENTAL", "0")
         .arg("clippy")
         .args(&["-p", "subcrate"])
-        .arg("--")
         .arg("--no-deps")
+        .arg("--")
         .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
         .args(&["--cfg", r#"feature="primary_package_test""#])
         .output()