Skip to main content

Module attrs

Module attrs 

Source
Expand description

Utility functions for attributes, including Clippy’s built-in ones

Re-exportsΒ§

use crate::source::SpanExt as _; πŸ”’
use crate::sym; πŸ”’
use crate::tokenize_with_text; πŸ”’
use rustc_ast::attr::AttributeExt; πŸ”’
use rustc_attr_ir::AttrArgs; πŸ”’
use rustc_attr_ir::find_attr; πŸ”’
use rustc_errors::Applicability; πŸ”’
use rustc_hir::def_id::DefId; πŸ”’
use rustc_lexer::TokenKind; πŸ”’
use rustc_lint::LateContext; πŸ”’
use rustc_middle::ty::AdtDef; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_session::Session; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::Symbol; πŸ”’
use std::str::FromStr as _; πŸ”’

StructsΒ§

LimitStack
Currently used to keep track of the current value of #[clippy::cognitive_complexity(N)]

FunctionsΒ§

check_clippy_attr
Validates a single clippy attribute and emits errors for unknown or deprecated ones.
get_clippy_attr
Returns the first occurrence of #[clippy::<name>].
has_non_exhaustive_attr
Checks whether the given ADT, or any of its fields/variants, are marked as #[non_exhaustive]
is_doc_hidden
Checks whether attrs contain #[doc(hidden)]
is_proc_macro
Checks whether attrs contain any of proc_macro, proc_macro_derive or proc_macro_attribute
parse_attrs πŸ”’
span_contains_attr_idents πŸ”’
span_contains_cfg
Checks whether the given span contains a #[cfg(..)] attribute
span_contains_cfg_or_cfg_attr
Checks whether the given span contains a #[cfg(..)] or #[cfg_attr(..)] attribute
span_of_clippy_attr
Retrieves the span of a Clippy attribute, such as #[clippy::format_args].