From 7e027217f113b2feafd39b0d19500aa030f320d7 Mon Sep 17 00:00:00 2001 From: Philipp Hansch Date: Wed, 31 Oct 2018 21:54:30 +0100 Subject: [PATCH] Fix dogfood and pedantic lints --- clippy_dev/src/lib.rs | 38 ++++++++++++++++++++------------------ clippy_dev/src/main.rs | 2 +- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/clippy_dev/src/lib.rs b/clippy_dev/src/lib.rs index d2191d426ff..656a271aec9 100644 --- a/clippy_dev/src/lib.rs +++ b/clippy_dev/src/lib.rs @@ -78,26 +78,28 @@ pub fn gen_changelog_lint_list(lints: Vec) -> Vec { lint_list_sorted.sort_by_key(|l| l.name.clone()); lint_list_sorted .iter() - .filter(|l| !l.is_internal()) - .map(|l| { - format!("[`{}`]: {}#{}", l.name, DOCS_LINK.clone(), l.name) - }) - .collect() + .filter_map(|l| { + if l.is_internal() { + None + } else { + Some(format!("[`{}`]: {}#{}", l.name, DOCS_LINK.clone(), l.name)) + } + }).collect() } -/// Generates the 'register_removed' code in `./clippy_lints/src/lib.rs`. -pub fn gen_deprecated(lints: Vec) -> Vec { +/// Generates the `register_removed` code in `./clippy_lints/src/lib.rs`. +pub fn gen_deprecated(lints: &[Lint]) -> Vec { lints.iter() - .filter(|l| l.deprecation.is_some()) - .map(|l| { - format!( - r#" store.register_removed( - "{}", - "{}", - );"#, - l.name, - l.deprecation.clone().unwrap() - ) + .filter_map(|l| { + l.clone().deprecation.and_then(|depr_text| { + Some( + format!( + " store.register_removed(\n \"{}\",\n \"{}\",\n );", + l.name, + depr_text + ) + ) + }) }) .collect() } @@ -352,5 +354,5 @@ fn test_gen_deprecated() { "has been superseeded by should_assert_eq2", );"#.to_string() ]; - assert_eq!(expected, gen_deprecated(lints)); + assert_eq!(expected, gen_deprecated(&lints)); } diff --git a/clippy_dev/src/main.rs b/clippy_dev/src/main.rs index cf321dbbc02..887a4ab9328 100644 --- a/clippy_dev/src/main.rs +++ b/clippy_dev/src/main.rs @@ -88,6 +88,6 @@ fn update_lints() { "begin deprecated lints", "end deprecated lints", false, - || { gen_deprecated(lint_list.clone()) } + || { gen_deprecated(&lint_list) } ); }