mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Auto merge of #10458 - samueltardieu:multithreading-lintcheck, r=llogiq
lintcheck: use multithreading unless --fix or --recursive is used Use multithreading unless there is a reason not to. changelog: none
This commit is contained in:
commit
a45f71265c
@ -1,10 +1,16 @@
|
|||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use std::path::PathBuf;
|
use std::{num::NonZeroUsize, path::PathBuf};
|
||||||
|
|
||||||
#[derive(Clone, Debug, Parser)]
|
#[derive(Clone, Debug, Parser)]
|
||||||
pub(crate) struct LintcheckConfig {
|
pub(crate) struct LintcheckConfig {
|
||||||
/// Number of threads to use, 0 automatic choice
|
/// Number of threads to use (default: all unless --fix or --recursive)
|
||||||
#[clap(long = "jobs", short = 'j', value_name = "N", default_value_t = 1)]
|
#[clap(
|
||||||
|
long = "jobs",
|
||||||
|
short = 'j',
|
||||||
|
value_name = "N",
|
||||||
|
default_value_t = 0,
|
||||||
|
hide_default_value = true
|
||||||
|
)]
|
||||||
pub max_jobs: usize,
|
pub max_jobs: usize,
|
||||||
/// Set the path for a crates.toml where lintcheck should read the sources from
|
/// Set the path for a crates.toml where lintcheck should read the sources from
|
||||||
#[clap(
|
#[clap(
|
||||||
@ -51,8 +57,11 @@ impl LintcheckConfig {
|
|||||||
|
|
||||||
// look at the --threads arg, if 0 is passed, use the threads count
|
// look at the --threads arg, if 0 is passed, use the threads count
|
||||||
if config.max_jobs == 0 {
|
if config.max_jobs == 0 {
|
||||||
// automatic choice
|
config.max_jobs = if config.fix || config.recursive {
|
||||||
config.max_jobs = std::thread::available_parallelism().map_or(1, |n| n.get());
|
1
|
||||||
|
} else {
|
||||||
|
std::thread::available_parallelism().map_or(1, NonZeroUsize::get)
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
for lint_name in &mut config.lint_filter {
|
for lint_name in &mut config.lint_filter {
|
||||||
|
Loading…
Reference in New Issue
Block a user