Skip to content

Commit

Permalink
Auto merge of rust-lang#9630 - CatDevz:fix-aawr-lint, r=flip1995
Browse files Browse the repository at this point in the history
Fix allow_attributes_without_reason applying to external crate macros

Previously the `clippy::allow_attributes_without_reason` lint would apply to external crate macros. Many macros in the Rust ecosystem include these `allow` attributes without adding a reason, making this lint pretty much unusable in any sizable Rust project.

This commit fixes that by adding a check to the lint if the attribute is from an external crate macro and returning early.

```
changelog: [`allow_attributes_without_reason`]: allow_attributes_without_reason no longer applies to external crate macros
```
  • Loading branch information
bors committed Oct 23, 2022
2 parents b97d29a + 9ebd691 commit fe57ab7
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions clippy_lints/src/attrs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,11 @@ fn check_lint_reason(cx: &LateContext<'_>, name: Symbol, items: &[NestedMetaItem
return;
}

// Check if the attribute is in an external macro and therefore out of the developer's control
if in_external_macro(cx.sess(), attr.span) {
return;
}

span_lint_and_help(
cx,
ALLOW_ATTRIBUTES_WITHOUT_REASON,
Expand Down

0 comments on commit fe57ab7

Please sign in to comment.