Skip to content

Commit d783e3d

Browse files
committed
Auto merge of rust-lang#6839 - matthiaskrgr:lintcheck_clippy_warnings, r=flip1995
lintcheck: fix clippy warnings split out from rust-lang/rust-clippy#6829 changelog: none
2 parents ff51964 + bbe6416 commit d783e3d

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

clippy_dev/src/lintcheck.rs

+27-26
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@
55
// positives.
66

77
#![cfg(feature = "lintcheck")]
8-
#![allow(clippy::filter_map)]
8+
#![allow(clippy::filter_map, clippy::collapsible_else_if)]
9+
#![allow(clippy::blocks_in_if_conditions)] // FP on `if x.iter().any(|x| ...)`
910

1011
use crate::clippy_project_root;
1112

1213
use std::collections::HashMap;
1314
use std::process::Command;
1415
use std::sync::atomic::{AtomicUsize, Ordering};
15-
use std::{env, fmt, fs::write, path::PathBuf};
16+
use std::{
17+
env, fmt,
18+
fs::write,
19+
path::{Path, PathBuf},
20+
};
1621

1722
use clap::ArgMatches;
1823
use rayon::prelude::*;
@@ -196,11 +201,9 @@ impl CrateSource {
196201
if !crate_root.exists() {
197202
println!("Copying {} to {}", path.display(), copy_dest.display());
198203

199-
dir::copy(path, &copy_dest, &dir::CopyOptions::new()).expect(&format!(
200-
"Failed to copy from {}, to {}",
201-
path.display(),
202-
crate_root.display()
203-
));
204+
dir::copy(path, &copy_dest, &dir::CopyOptions::new()).unwrap_or_else(|_| {
205+
panic!("Failed to copy from {}, to {}", path.display(), crate_root.display())
206+
});
204207
} else {
205208
println!(
206209
"Not copying {} to {}, destination already exists",
@@ -225,7 +228,7 @@ impl Crate {
225228
/// issued
226229
fn run_clippy_lints(
227230
&self,
228-
cargo_clippy_path: &PathBuf,
231+
cargo_clippy_path: &Path,
229232
target_dir_index: &AtomicUsize,
230233
thread_limit: usize,
231234
total_crates_to_lint: usize,
@@ -308,13 +311,13 @@ impl LintcheckConfig {
308311
// first, check if we got anything passed via the LINTCHECK_TOML env var,
309312
// if not, ask clap if we got any value for --crates-toml <foo>
310313
// if not, use the default "clippy_dev/lintcheck_crates.toml"
311-
let sources_toml = env::var("LINTCHECK_TOML").unwrap_or(
314+
let sources_toml = env::var("LINTCHECK_TOML").unwrap_or_else(|_| {
312315
clap_config
313316
.value_of("crates-toml")
314317
.clone()
315318
.unwrap_or("clippy_dev/lintcheck_crates.toml")
316-
.to_string(),
317-
);
319+
.to_string()
320+
});
318321

319322
let sources_toml_path = PathBuf::from(sources_toml);
320323

@@ -330,7 +333,7 @@ impl LintcheckConfig {
330333
Some(threads) => {
331334
let threads: usize = threads
332335
.parse()
333-
.expect(&format!("Failed to parse '{}' to a digit", threads));
336+
.unwrap_or_else(|_| panic!("Failed to parse '{}' to a digit", threads));
334337
if threads == 0 {
335338
// automatic choice
336339
// Rayon seems to return thread count so half that for core count
@@ -387,7 +390,7 @@ fn build_clippy() {
387390
}
388391

389392
/// Read a `toml` file and return a list of `CrateSources` that we want to check with clippy
390-
fn read_crates(toml_path: &PathBuf) -> Vec<CrateSource> {
393+
fn read_crates(toml_path: &Path) -> Vec<CrateSource> {
391394
let toml_content: String =
392395
std::fs::read_to_string(&toml_path).unwrap_or_else(|_| panic!("Failed to read {}", toml_path.display()));
393396
let crate_list: SourceList =
@@ -499,7 +502,7 @@ fn gather_stats(clippy_warnings: &[ClippyWarning]) -> (String, HashMap<&String,
499502

500503
/// check if the latest modification of the logfile is older than the modification date of the
501504
/// clippy binary, if this is true, we should clean the lintchec shared target directory and recheck
502-
fn lintcheck_needs_rerun(lintcheck_logs_path: &PathBuf) -> bool {
505+
fn lintcheck_needs_rerun(lintcheck_logs_path: &Path) -> bool {
503506
let clippy_modified: std::time::SystemTime = {
504507
let mut times = [CLIPPY_DRIVER_PATH, CARGO_CLIPPY_PATH].iter().map(|p| {
505508
std::fs::metadata(p)
@@ -533,15 +536,13 @@ pub fn run(clap_config: &ArgMatches) {
533536
// refresh the logs
534537
if lintcheck_needs_rerun(&config.lintcheck_results_path) {
535538
let shared_target_dir = "target/lintcheck/shared_target_dir";
536-
match std::fs::metadata(&shared_target_dir) {
537-
Ok(metadata) => {
538-
if metadata.is_dir() {
539-
println!("Clippy is newer than lint check logs, clearing lintcheck shared target dir...");
540-
std::fs::remove_dir_all(&shared_target_dir)
541-
.expect("failed to remove target/lintcheck/shared_target_dir");
542-
}
543-
},
544-
Err(_) => { /* dir probably does not exist, don't remove anything */ },
539+
// if we get an Err here, the shared target dir probably does simply not exist
540+
if let Ok(metadata) = std::fs::metadata(&shared_target_dir) {
541+
if metadata.is_dir() {
542+
println!("Clippy is newer than lint check logs, clearing lintcheck shared target dir...");
543+
std::fs::remove_dir_all(&shared_target_dir)
544+
.expect("failed to remove target/lintcheck/shared_target_dir");
545+
}
545546
}
546547
}
547548

@@ -660,7 +661,7 @@ pub fn run(clap_config: &ArgMatches) {
660661
}
661662

662663
/// read the previous stats from the lintcheck-log file
663-
fn read_stats_from_file(file_path: &PathBuf) -> HashMap<String, usize> {
664+
fn read_stats_from_file(file_path: &Path) -> HashMap<String, usize> {
664665
let file_content: String = match std::fs::read_to_string(file_path).ok() {
665666
Some(content) => content,
666667
None => {
@@ -678,9 +679,9 @@ fn read_stats_from_file(file_path: &PathBuf) -> HashMap<String, usize> {
678679
let stats_lines = &lines[start + 1..=end - 1];
679680

680681
stats_lines
681-
.into_iter()
682+
.iter()
682683
.map(|line| {
683-
let mut spl = line.split(" ").into_iter();
684+
let mut spl = line.split(' ');
684685
(
685686
spl.next().unwrap().to_string(),
686687
spl.next().unwrap().parse::<usize>().unwrap(),

0 commit comments

Comments
 (0)