diff --git a/clippy_lints/src/attrs.rs b/clippy_lints/src/attrs.rs index 2324693cdc98..deb91c269249 100644 --- a/clippy_lints/src/attrs.rs +++ b/clippy_lints/src/attrs.rs @@ -417,11 +417,11 @@ fn check_attrs(cx: &LateContext<'_, '_>, span: Span, name: Name, attrs: &[Attrib } for attr in attrs { - if attr.is_sugared_doc { + if attr.is_doc_comment() { return; } if attr.style == AttrStyle::Outer { - if attr.tokens.is_empty() || !is_present_in_source(cx, attr.span) { + if attr.get_normal_item().tokens.is_empty() || !is_present_in_source(cx, attr.span) { return; } diff --git a/clippy_lints/src/doc.rs b/clippy_lints/src/doc.rs index 726a044f9ed9..6777ebbfb69f 100644 --- a/clippy_lints/src/doc.rs +++ b/clippy_lints/src/doc.rs @@ -247,7 +247,7 @@ pub fn check_attrs<'a>(cx: &LateContext<'_, '_>, valid_idents: &FxHashSet [MAIN_RECURSION]); impl LateLintPass<'_, '_> for MainRecursion { fn check_crate(&mut self, _: &LateContext<'_, '_>, krate: &Crate) { - self.has_no_std_attr = krate.attrs.iter().any(|attr| attr.path == sym::no_std); + self.has_no_std_attr = krate.attrs.iter().any(|attr| attr.has_name(sym::no_std)); } fn check_expr_post(&mut self, cx: &LateContext<'_, '_>, expr: &Expr) { diff --git a/clippy_lints/src/utils/attrs.rs b/clippy_lints/src/utils/attrs.rs index 2520f366b327..87218e28b63d 100644 --- a/clippy_lints/src/utils/attrs.rs +++ b/clippy_lints/src/utils/attrs.rs @@ -57,7 +57,10 @@ pub fn get_attr<'a>( name: &'static str, ) -> impl Iterator { attrs.iter().filter(move |attr| { - let attr_segments = &attr.path.segments; + if attr.is_doc_comment() { + return false; + } + let attr_segments = &attr.get_normal_item().path.segments; if attr_segments.len() == 2 && attr_segments[0].ident.to_string() == "clippy" { if let Some(deprecation_status) = BUILTIN_ATTRIBUTES