about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYacin Tmimi <yacintmimi@gmail.com>2022-06-21 18:55:24 -0400
committerCaleb Cartwright <calebcartwright@users.noreply.github.com>2022-06-22 17:47:00 -0500
commit08105e80b7c48782cfd7acbf3695c7f14c839cfd (patch)
tree3cd541cb7e29ef7528a8e14f707834134412c1b9
parenta18709156818a1205e9b5f89192808b651c6c59d (diff)
downloadrust-08105e80b7c48782cfd7acbf3695c7f14c839cfd.tar.gz
rust-08105e80b7c48782cfd7acbf3695c7f14c839cfd.zip
Fix issue where `cargo fmt --version` would not display version info
Fixes 5395

In PR 5239 we switched from using `structopt` to `clap`. It seems that
the default behavior for `clap` is to override the `--version` flag,
which prevented our custom version display code from running.

The fix as outlined in https://github.com/clap-rs/clap/issues/3405 was
to set `#[clap(global_setting(AppSettings::NoAutoVersion))]` to prevent
clap from setting its own default behavior for the `--version` flag.
-rw-r--r--src/cargo-fmt/main.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cargo-fmt/main.rs b/src/cargo-fmt/main.rs
index 55fd75f6de9..9031d29b45f 100644
--- a/src/cargo-fmt/main.rs
+++ b/src/cargo-fmt/main.rs
@@ -14,7 +14,7 @@ use std::path::{Path, PathBuf};
 use std::process::Command;
 use std::str;
 
-use clap::{CommandFactory, Parser};
+use clap::{AppSettings, CommandFactory, Parser};
 
 #[path = "test/mod.rs"]
 #[cfg(test)]
@@ -22,6 +22,7 @@ mod cargo_fmt_tests;
 
 #[derive(Parser)]
 #[clap(
+    global_setting(AppSettings::NoAutoVersion),
     bin_name = "cargo fmt",
     about = "This utility formats all bin and lib files of \
              the current crate using rustfmt."