Skip to content

Commit

Permalink
Add test for and fix rust-lang/rust-clippy#9131
Browse files Browse the repository at this point in the history
This lint seems to have been broken by rust-lang#98446
  • Loading branch information
anall committed Jul 7, 2022
1 parent 5474f56 commit 3388787
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion clippy_lints/src/misc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ fn in_attributes_expansion(expr: &Expr<'_>) -> bool {
use rustc_span::hygiene::MacroKind;
if expr.span.from_expansion() {
let data = expr.span.ctxt().outer_expn_data();
matches!(data.kind, ExpnKind::Macro(MacroKind::Attr, _))
matches!(data.kind, ExpnKind::Macro(MacroKind::Attr|MacroKind::Derive, _))
} else {
false
}
Expand Down
6 changes: 6 additions & 0 deletions tests/ui/used_underscore_binding.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ fn in_struct_field() {
s._underscore_field += 1;
}

/// Tests that we do not lint if the struct field is used in code created with derive.
#[derive(Clone, Debug)]
pub struct UnderscoreInStruct {
_foo: u32,
}

/// Tests that we do not lint if the underscore is not a prefix
fn non_prefix_underscore(some_foo: u32) -> u32 {
some_foo + 1
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/used_underscore_binding.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ LL | s._underscore_field += 1;
| ^^^^^^^^^^^^^^^^^^^

error: used binding `_i` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:99:16
--> $DIR/used_underscore_binding.rs:105:16
|
LL | uses_i(_i);
| ^^
Expand Down

0 comments on commit 3388787

Please sign in to comment.