diff options
| author | flip1995 <hello@philkrones.com> | 2020-12-06 15:01:03 +0100 |
|---|---|---|
| committer | flip1995 <hello@philkrones.com> | 2020-12-06 15:01:03 +0100 |
| commit | 8eca423ea13bb0612df4b8f2c20c5228f54d0c2d (patch) | |
| tree | 0ce57b739761262392615e9c868cf8bbe25d1153 /clippy_dev/src/lib.rs | |
| parent | 3be53bc45ae6e8786c9fe1e6d776fc4ec4c6af7b (diff) | |
| download | rust-8eca423ea13bb0612df4b8f2c20c5228f54d0c2d.tar.gz rust-8eca423ea13bb0612df4b8f2c20c5228f54d0c2d.zip | |
Merge commit 'c1664c50b27a51f7a78c93ba65558e7c33eabee6' into clippyup
Diffstat (limited to 'clippy_dev/src/lib.rs')
| -rw-r--r-- | clippy_dev/src/lib.rs | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/clippy_dev/src/lib.rs b/clippy_dev/src/lib.rs index 43cb2954b74..f51c45e9eb5 100644 --- a/clippy_dev/src/lib.rs +++ b/clippy_dev/src/lib.rs @@ -146,16 +146,30 @@ pub fn gen_deprecated<'a>(lints: impl Iterator<Item = &'a Lint>) -> Vec<String> } #[must_use] -pub fn gen_register_lint_list<'a>(lints: impl Iterator<Item = &'a Lint>) -> Vec<String> { - let pre = " store.register_lints(&[".to_string(); - let post = " ]);".to_string(); - let mut inner = lints +pub fn gen_register_lint_list<'a>( + internal_lints: impl Iterator<Item = &'a Lint>, + usable_lints: impl Iterator<Item = &'a Lint>, +) -> Vec<String> { + let header = " store.register_lints(&[".to_string(); + let footer = " ]);".to_string(); + let internal_lints = internal_lints + .sorted_by_key(|l| format!(" &{}::{},", l.module, l.name.to_uppercase())) + .map(|l| { + format!( + " #[cfg(feature = \"internal-lints\")]\n &{}::{},", + l.module, + l.name.to_uppercase() + ) + }); + let other_lints = usable_lints + .sorted_by_key(|l| format!(" &{}::{},", l.module, l.name.to_uppercase())) .map(|l| format!(" &{}::{},", l.module, l.name.to_uppercase())) - .sorted() - .collect::<Vec<String>>(); - inner.insert(0, pre); - inner.push(post); - inner + .sorted(); + let mut lint_list = vec![header]; + lint_list.extend(internal_lints); + lint_list.extend(other_lints); + lint_list.push(footer); + lint_list } /// Gathers all files in `src/clippy_lints` and gathers all lints inside |
