diff --git a/README.md b/README.md index 856058e58b0..eaa42aa6962 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code. -[There are 363 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html) +[There are over 363 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html) We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you: diff --git a/clippy_dev/src/update_lints.rs b/clippy_dev/src/update_lints.rs index f6fc322431c..d30d6f97a2f 100644 --- a/clippy_dev/src/update_lints.rs +++ b/clippy_dev/src/update_lints.rs @@ -17,7 +17,7 @@ pub fn run(update_mode: UpdateMode) { let internal_lints = Lint::internal_lints(lint_list.clone().into_iter()); let usable_lints: Vec = Lint::usable_lints(lint_list.clone().into_iter()).collect(); - let usable_lint_count = usable_lints.len(); + let usable_lint_count = round_to_fifty(usable_lints.len()); let mut sorted_usable_lints = usable_lints.clone(); sorted_usable_lints.sort_by_key(|lint| lint.name.clone()); @@ -29,27 +29,26 @@ pub fn run(update_mode: UpdateMode) { false, update_mode == UpdateMode::Change, || { - format!( - "pub const ALL_LINTS: [Lint; {}] = {:#?};", - sorted_usable_lints.len(), - sorted_usable_lints - ) - .lines() - .map(ToString::to_string) - .collect::>() + format!("pub static ref ALL_LINTS: Vec = vec!{:#?};", sorted_usable_lints) + .lines() + .map(ToString::to_string) + .collect::>() }, ) .changed; file_change |= replace_region_in_file( Path::new("README.md"), - &format!(r#"\[There are \d+ lints included in this crate!\]\({}\)"#, DOCS_LINK), + &format!( + r#"\[There are over \d+ lints included in this crate!\]\({}\)"#, + DOCS_LINK + ), "", true, update_mode == UpdateMode::Change, || { vec![format!( - "[There are {} lints included in this crate!]({})", + "[There are over {} lints included in this crate!]({})", usable_lint_count, DOCS_LINK )] }, @@ -161,3 +160,7 @@ pub fn print_lints() { println!("there are {} lints", usable_lint_count); } + +fn round_to_fifty(count: usize) -> usize { + count / 50 * 50 +} diff --git a/src/lintlist/mod.rs b/src/lintlist/mod.rs index fa51af156ef..3b89f5d1947 100644 --- a/src/lintlist/mod.rs +++ b/src/lintlist/mod.rs @@ -1,12 +1,15 @@ //! This file is managed by `cargo dev update_lints`. Do not edit. +use lazy_static::lazy_static; + pub mod lint; pub use lint::Level; pub use lint::Lint; pub use lint::LINT_LEVELS; +lazy_static! { // begin lint list, do not remove this comment, it’s used in `update_lints` -pub const ALL_LINTS: [Lint; 363] = [ +pub static ref ALL_LINTS: Vec = vec![ Lint { name: "absurd_extreme_comparisons", group: "correctness", @@ -2550,3 +2553,4 @@ pub const ALL_LINTS: [Lint; 363] = [ }, ]; // end lint list, do not remove this comment, it’s used in `update_lints` +}