Skip to main content

Module check_attr

Module check_attr 

Source
Expand description

This module implements some validity checks for attributes. In particular it verifies that #[inline] and #[repr] attributes are attached to items that actually support them and if there are conflicts between multiple such attributes attached to the same item.

Re-exportsยง

use std::cell::Cell; ๐Ÿ”’
use std::slice; ๐Ÿ”’
use rustc_attr_ir::diagnostic::Directive; ๐Ÿ”’
use rustc_attr_ir::lang_items::LangItem; ๐Ÿ”’
use rustc_attr_ir::lint::LintCheck; ๐Ÿ”’
use rustc_attr_ir::target::AssocCtxt; ๐Ÿ”’
use rustc_attr_ir::target::MethodKind; ๐Ÿ”’
use rustc_attr_ir::target::Target; ๐Ÿ”’
use rustc_attr_ir::Attribute; ๐Ÿ”’
use rustc_attr_ir::AttributeKind; ๐Ÿ”’
use rustc_attr_ir::DocAttribute; ๐Ÿ”’
use rustc_attr_ir::EiiDecl; ๐Ÿ”’
use rustc_attr_ir::EiiImpl; ๐Ÿ”’
use rustc_attr_ir::EiiImplResolution; ๐Ÿ”’
use rustc_attr_ir::InlineAttr; ๐Ÿ”’
use rustc_attr_ir::OptimizeAttr; ๐Ÿ”’
use rustc_attr_ir::ReprAttr; ๐Ÿ”’
use rustc_attr_ir::RustcAssertVarianceKind; ๐Ÿ”’
use rustc_attr_ir::find_attr; ๐Ÿ”’
use rustc_attr_parsing::AttributeParser; ๐Ÿ”’
use rustc_data_structures::thin_vec::ThinVec; ๐Ÿ”’
use rustc_errors::DiagCtxtHandle; ๐Ÿ”’
use rustc_errors::IntoDiagArg; ๐Ÿ”’
use rustc_feature::BUILTIN_ATTRIBUTE_SET; ๐Ÿ”’
use rustc_hir::def::DefKind; ๐Ÿ”’
use rustc_hir::def_id::LocalModId; ๐Ÿ”’
use rustc_hir::intravisit; ๐Ÿ”’
use rustc_hir::intravisit::Visitor; ๐Ÿ”’
use rustc_hir as hir; ๐Ÿ”’
use rustc_hir::CRATE_HIR_ID; ๐Ÿ”’
use rustc_hir::Constness; ๐Ÿ”’
use rustc_hir::ForeignItem; ๐Ÿ”’
use rustc_hir::GenericParam; ๐Ÿ”’
use rustc_hir::GenericParamKind; ๐Ÿ”’
use rustc_hir::HirId; ๐Ÿ”’
use rustc_hir::Item; ๐Ÿ”’
use rustc_hir::ItemKind; ๐Ÿ”’
use rustc_hir::Mod; ๐Ÿ”’
use rustc_hir::Node; ๐Ÿ”’
use rustc_hir::ParamName; ๐Ÿ”’
use rustc_hir::TraitItem; ๐Ÿ”’
use rustc_lint_defs::builtin::CONFLICTING_REPR_HINTS; ๐Ÿ”’
use rustc_lint_defs::builtin::INVALID_DOC_ATTRIBUTES; ๐Ÿ”’
use rustc_lint_defs::builtin::MALFORMED_DIAGNOSTIC_ATTRIBUTES; ๐Ÿ”’
use rustc_lint_defs::builtin::MALFORMED_DIAGNOSTIC_FORMAT_LITERALS; ๐Ÿ”’
use rustc_lint_defs::builtin::MISPLACED_DIAGNOSTIC_ATTRIBUTES; ๐Ÿ”’
use rustc_lint_defs::builtin::REPEATED_REPRS; ๐Ÿ”’
use rustc_lint_defs::builtin::UNUSED_ATTRIBUTES; ๐Ÿ”’
use rustc_macros::Diagnostic; ๐Ÿ”’
use rustc_middle::hir::nested_filter; ๐Ÿ”’
use rustc_middle::query::Providers; ๐Ÿ”’
use rustc_middle::traits::ObligationCause; ๐Ÿ”’
use rustc_middle::ty::error::ExpectedFound; ๐Ÿ”’
use rustc_middle::ty::error::TypeError; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::TypingMode; ๐Ÿ”’
use rustc_middle::ty::Unnormalized; ๐Ÿ”’
use rustc_middle::ty::Variance; ๐Ÿ”’
use rustc_span::edition::Edition; ๐Ÿ”’
use rustc_span::DUMMY_SP; ๐Ÿ”’
use rustc_span::Ident; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::span_bug; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use rustc_structures::CrateType; ๐Ÿ”’
use rustc_trait_selection::error_reporting::InferCtxtErrorExt; ๐Ÿ”’
use rustc_trait_selection::infer::TyCtxtInferExt; ๐Ÿ”’
use rustc_trait_selection::infer::ValuePairs; ๐Ÿ”’
use rustc_trait_selection::traits::ObligationCtxt; ๐Ÿ”’
use rustc_trait_selection::traits::TraitErrors; ๐Ÿ”’
use crate::diagnostics; ๐Ÿ”’

Structsยง

CheckAttrVisitor ๐Ÿ”’
DiagnosticOnConstOnlyForNonConstTraitImpls ๐Ÿ”’

Enumsยง

ProcMacroKind ๐Ÿ”’

Functionsยง

check_mod_attrs ๐Ÿ”’
check_non_exported_macro_for_invalid_attrs ๐Ÿ”’
doc_fake_variadic_is_allowed_self_ty ๐Ÿ”’
is_c_like_enum ๐Ÿ”’
provide ๐Ÿ”’
target_from_impl_item ๐Ÿ”’