Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 397f36a

Browse files
committed
Fix #[allow(clippy::enum_variant_names)] directly on variants
1 parent 9283497 commit 397f36a

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

clippy_lints/src/enum_variants.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! lint on enum variants that are prefixed or suffixed by the same characters
22
3-
use clippy_utils::diagnostics::{span_lint, span_lint_and_help};
3+
use clippy_utils::diagnostics::{span_lint, span_lint_and_help, span_lint_hir};
44
use clippy_utils::source::is_present_in_source;
55
use clippy_utils::str_utils::{camel_case_split, count_match_end, count_match_start};
66
use rustc_hir::{EnumDef, Item, ItemKind, Variant};
@@ -135,9 +135,10 @@ fn check_enum_start(cx: &LateContext<'_>, item_name: &str, variant: &Variant<'_>
135135
&& name.chars().nth(item_name_chars).map_or(false, |c| !c.is_lowercase())
136136
&& name.chars().nth(item_name_chars + 1).map_or(false, |c| !c.is_numeric())
137137
{
138-
span_lint(
138+
span_lint_hir(
139139
cx,
140140
ENUM_VARIANT_NAMES,
141+
variant.hir_id,
141142
variant.span,
142143
"variant name starts with the enum's name",
143144
);
@@ -149,9 +150,10 @@ fn check_enum_end(cx: &LateContext<'_>, item_name: &str, variant: &Variant<'_>)
149150
let item_name_chars = item_name.chars().count();
150151

151152
if count_match_end(item_name, name).char_count == item_name_chars {
152-
span_lint(
153+
span_lint_hir(
153154
cx,
154155
ENUM_VARIANT_NAMES,
156+
variant.hir_id,
155157
variant.span,
156158
"variant name ends with the enum's name",
157159
);

tests/ui/enum_variants.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,4 +179,14 @@ mod issue9018 {
179179
}
180180
}
181181

182+
mod allow_attributes_on_variants {
183+
enum Enum {
184+
#[allow(clippy::enum_variant_names)]
185+
EnumStartsWith,
186+
#[allow(clippy::enum_variant_names)]
187+
EndsWithEnum,
188+
Foo,
189+
}
190+
}
191+
182192
fn main() {}

0 commit comments

Comments
 (0)