diff options
| author | David Tolnay <dtolnay@gmail.com> | 2023-03-03 18:50:53 -0800 |
|---|---|---|
| committer | David Tolnay <dtolnay@gmail.com> | 2023-03-03 19:03:54 -0800 |
| commit | cc6180c2f4bf53a235a139be0ba604dacda618a9 (patch) | |
| tree | f7f3965479d6a8cf6771683fe95d01d8e9ce2751 | |
| parent | 113c704d225c63c1a0eec29cfa9478b7537e7d73 (diff) | |
| download | rust-cc6180c2f4bf53a235a139be0ba604dacda618a9.tar.gz rust-cc6180c2f4bf53a235a139be0ba604dacda618a9.zip | |
Include former name of renamed lints in lints.json
| -rw-r--r-- | clippy_lints/src/utils/internal_lints/metadata_collector.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clippy_lints/src/utils/internal_lints/metadata_collector.rs b/clippy_lints/src/utils/internal_lints/metadata_collector.rs index b1b5164ffb3..3d0d4a52511 100644 --- a/clippy_lints/src/utils/internal_lints/metadata_collector.rs +++ b/clippy_lints/src/utils/internal_lints/metadata_collector.rs @@ -26,7 +26,7 @@ use rustc_session::{declare_tool_lint, impl_lint_pass}; use rustc_span::symbol::Ident; use rustc_span::{sym, Loc, Span, Symbol}; use serde::{ser::SerializeStruct, Serialize, Serializer}; -use std::collections::BinaryHeap; +use std::collections::{BTreeSet, BinaryHeap}; use std::fmt; use std::fmt::Write as _; use std::fs::{self, OpenOptions}; @@ -264,6 +264,9 @@ struct LintMetadata { /// This field is only used in the output and will only be /// mapped shortly before the actual output. applicability: Option<ApplicabilityInfo>, + /// All the past names of lints which have been renamed. + #[serde(skip_serializing_if = "BTreeSet::is_empty")] + former_ids: BTreeSet<String>, } impl LintMetadata { @@ -283,6 +286,7 @@ impl LintMetadata { version, docs, applicability: None, + former_ids: BTreeSet::new(), } } } @@ -901,6 +905,7 @@ fn collect_renames(lints: &mut Vec<LintMetadata>) { if name == lint_name; if let Some(past_name) = k.strip_prefix(CLIPPY_LINT_GROUP_PREFIX); then { + lint.former_ids.insert(past_name.to_owned()); writeln!(collected, "* `{past_name}`").unwrap(); names.push(past_name.to_string()); } |
