diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2023-03-05 23:10:13 +0100 |
|---|---|---|
| committer | Samuel "Sam" Tardieu <sam@rfc1149.net> | 2023-03-08 22:29:57 +0100 |
| commit | a701af45cb25cd5a7f45f6b51aa224b7a5d65f3a (patch) | |
| tree | 15c3ba426f34c5c6b5c27efb74b9649b7a30b52e | |
| parent | 783bc621a1e64a11713a00e9289956ed50744dcd (diff) | |
| download | rust-a701af45cb25cd5a7f45f6b51aa224b7a5d65f3a.tar.gz rust-a701af45cb25cd5a7f45f6b51aa224b7a5d65f3a.zip | |
lintcheck: use multithreading unless --fix or --recursive is used
| -rw-r--r-- | lintcheck/src/config.rs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lintcheck/src/config.rs b/lintcheck/src/config.rs index e1836c19aa2..3f01e9bb0a7 100644 --- a/lintcheck/src/config.rs +++ b/lintcheck/src/config.rs @@ -1,10 +1,16 @@ use clap::Parser; -use std::path::PathBuf; +use std::{num::NonZeroUsize, path::PathBuf}; #[derive(Clone, Debug, Parser)] pub(crate) struct LintcheckConfig { - /// Number of threads to use, 0 automatic choice - #[clap(long = "jobs", short = 'j', value_name = "N", default_value_t = 1)] + /// Number of threads to use (default: all unless --fix or --recursive) + #[clap( + long = "jobs", + short = 'j', + value_name = "N", + default_value_t = 0, + hide_default_value = true + )] pub max_jobs: usize, /// Set the path for a crates.toml where lintcheck should read the sources from #[clap( @@ -51,8 +57,11 @@ impl LintcheckConfig { // look at the --threads arg, if 0 is passed, use the threads count if config.max_jobs == 0 { - // automatic choice - config.max_jobs = std::thread::available_parallelism().map_or(1, |n| n.get()); + config.max_jobs = if config.fix || config.recursive { + 1 + } else { + std::thread::available_parallelism().map_or(1, NonZeroUsize::get) + }; }; for lint_name in &mut config.lint_filter { |
