From 560559bafe1d61bca3d815ce80c53ae2d48e1829 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Tue, 11 Feb 2020 11:07:38 +0100 Subject: [PATCH] Make Lint::by_lint_group take impl Iterator as argument --- clippy_dev/src/lib.rs | 9 +++------ clippy_dev/src/main.rs | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/clippy_dev/src/lib.rs b/clippy_dev/src/lib.rs index 3acecf967..67a9abd29 100644 --- a/clippy_dev/src/lib.rs +++ b/clippy_dev/src/lib.rs @@ -63,11 +63,8 @@ impl Lint { /// Returns the lints in a `HashMap`, grouped by the different lint groups #[must_use] - pub fn by_lint_group(lints: &[Self]) -> HashMap> { - lints - .iter() - .map(|lint| (lint.group.to_string(), lint.clone())) - .into_group_map() + pub fn by_lint_group(lints: impl Iterator) -> HashMap> { + lints.map(|lint| (lint.group.to_string(), lint)).into_group_map() } #[must_use] @@ -449,7 +446,7 @@ fn test_by_lint_group() { "group2".to_string(), vec![Lint::new("should_assert_eq2", "group2", "abc", None, "module_name")], ); - assert_eq!(expected, Lint::by_lint_group(&lints)); + assert_eq!(expected, Lint::by_lint_group(lints.into_iter())); } #[test] diff --git a/clippy_dev/src/main.rs b/clippy_dev/src/main.rs index 154876817..2808aafc6 100644 --- a/clippy_dev/src/main.rs +++ b/clippy_dev/src/main.rs @@ -136,7 +136,7 @@ fn print_lints() { let lint_list = gather_all(); let usable_lints: Vec = Lint::usable_lints(lint_list).collect(); let lint_count = usable_lints.len(); - let grouped_by_lint_group = Lint::by_lint_group(&usable_lints); + let grouped_by_lint_group = Lint::by_lint_group(usable_lints.into_iter()); for (lint_group, mut lints) in grouped_by_lint_group { if lint_group == "Deprecated" { @@ -267,7 +267,7 @@ fn update_lints(update_mode: UpdateMode) { .changed; // Generate the list of lints for all other lint groups - for (lint_group, lints) in Lint::by_lint_group(&usable_lints) { + for (lint_group, lints) in Lint::by_lint_group(usable_lints.into_iter()) { file_change |= replace_region_in_file( Path::new("clippy_lints/src/lib.rs"), &format!("store.register_group\\(true, \"clippy::{}\"", lint_group),