mirror of
https://github.com/rust-lang/rust-clippy
synced 2025-02-17 14:38:46 +00:00
Merge pull request #3327 from phansch/update_changelog_riir
RIIR update_lints: Update changelog links
This commit is contained in:
commit
f40c4fa51d
2 changed files with 41 additions and 3 deletions
|
@ -59,13 +59,29 @@ impl Lint {
|
||||||
|
|
||||||
/// Returns all non-deprecated lints and non-internal lints
|
/// Returns all non-deprecated lints and non-internal lints
|
||||||
pub fn usable_lints(lints: impl Iterator<Item=Self>) -> impl Iterator<Item=Self> {
|
pub fn usable_lints(lints: impl Iterator<Item=Self>) -> impl Iterator<Item=Self> {
|
||||||
lints.filter(|l| l.deprecation.is_none() && !l.group.starts_with("internal"))
|
lints.filter(|l| l.deprecation.is_none() && !l.is_internal())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns the lints in a HashMap, grouped by the different lint groups
|
/// Returns the lints in a HashMap, grouped by the different lint groups
|
||||||
pub fn by_lint_group(lints: &[Self]) -> HashMap<String, Vec<Self>> {
|
pub fn by_lint_group(lints: &[Self]) -> HashMap<String, Vec<Self>> {
|
||||||
lints.iter().map(|lint| (lint.group.to_string(), lint.clone())).into_group_map()
|
lints.iter().map(|lint| (lint.group.to_string(), lint.clone())).into_group_map()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_internal(&self) -> bool {
|
||||||
|
self.group.starts_with("internal")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn gen_changelog_lint_list(lints: Vec<Lint>) -> Vec<String> {
|
||||||
|
let mut lint_list_sorted: Vec<Lint> = lints;
|
||||||
|
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()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Gathers all files in `src/clippy_lints` and gathers all lints inside
|
/// Gathers all files in `src/clippy_lints` and gathers all lints inside
|
||||||
|
@ -291,3 +307,17 @@ fn test_by_lint_group() {
|
||||||
]);
|
]);
|
||||||
assert_eq!(expected, Lint::by_lint_group(&lints));
|
assert_eq!(expected, Lint::by_lint_group(&lints));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_gen_changelog_lint_list() {
|
||||||
|
let lints = vec![
|
||||||
|
Lint::new("should_assert_eq", "group1", "abc", None, "module_name"),
|
||||||
|
Lint::new("should_assert_eq2", "group2", "abc", None, "module_name"),
|
||||||
|
Lint::new("incorrect_internal", "internal_style", "abc", None, "module_name"),
|
||||||
|
];
|
||||||
|
let expected = vec![
|
||||||
|
format!("[`should_assert_eq`]: {}#should_assert_eq", DOCS_LINK.to_string()),
|
||||||
|
format!("[`should_assert_eq2`]: {}#should_assert_eq2", DOCS_LINK.to_string())
|
||||||
|
];
|
||||||
|
assert_eq!(expected, gen_changelog_lint_list(lints));
|
||||||
|
}
|
||||||
|
|
|
@ -59,8 +59,8 @@ fn print_lints() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn update_lints() {
|
fn update_lints() {
|
||||||
let lint_list = gather_all();
|
let lint_list: Vec<Lint> = gather_all().collect();
|
||||||
let usable_lints: Vec<Lint> = Lint::usable_lints(lint_list).collect();
|
let usable_lints: Vec<Lint> = Lint::usable_lints(lint_list.clone().into_iter()).collect();
|
||||||
let lint_count = usable_lints.len();
|
let lint_count = usable_lints.len();
|
||||||
|
|
||||||
replace_region_in_file(
|
replace_region_in_file(
|
||||||
|
@ -74,4 +74,12 @@ fn update_lints() {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
replace_region_in_file(
|
||||||
|
"../CHANGELOG.md",
|
||||||
|
"<!-- begin autogenerated links to lint list -->",
|
||||||
|
"<!-- end autogenerated links to lint list -->",
|
||||||
|
false,
|
||||||
|
|| { gen_changelog_lint_list(lint_list.clone()) }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue