about summary refs log tree commit diff
diff options
context:
space:
mode:
authorflip1995 <hello@philkrones.com>2020-03-31 17:23:14 +0200
committerflip1995 <hello@philkrones.com>2020-03-31 17:24:09 +0200
commit3155eedb68b4aaefe89731b3e1c788453cee1f80 (patch)
treee350183624465cb76c096255a932c229baef052e
parent5de019074b08d4625ab9e24280071a270e9b8eef (diff)
downloadrust-3155eedb68b4aaefe89731b3e1c788453cee1f80.tar.gz
rust-3155eedb68b4aaefe89731b3e1c788453cee1f80.zip
Don't use an exact lint counter anymore
-rw-r--r--README.md2
-rw-r--r--clippy_dev/src/update_lints.rs25
-rw-r--r--src/lintlist/mod.rs6
3 files changed, 20 insertions, 13 deletions
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> = 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::<Vec<_>>()
+            format!("pub static ref ALL_LINTS: Vec<Lint> = vec!{:#?};", sorted_usable_lints)
+                .lines()
+                .map(ToString::to_string)
+                .collect::<Vec<_>>()
         },
     )
     .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<Lint> = 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`
+}