Expand description
Basic types for managing and implementing lints.
See https://rustc-dev-guide.rust-lang.org/diagnostics.html for an overview of how lints are implemented.
Re-exportsยง
use std::slice;๐use rustc_abi as abi;๐use rustc_abi as abi;๐use rustc_ast::BindingMode;๐use rustc_ast::util::parser::ExprPrecedence;๐use rustc_data_structures::fx::FxIndexMap;๐use rustc_data_structures::sync;๐use rustc_data_structures::unord::UnordMap;๐use rustc_errors::Diagnostic;๐use rustc_errors::LintBuffer;๐use rustc_errors::MultiSpan;๐use rustc_feature::Features;๐use rustc_hir as hir;๐use rustc_hir::def::Res;๐use rustc_hir::def_id::CrateNum;๐use rustc_hir::def_id::DefId;๐use rustc_hir::definitions::DefPathData;๐use rustc_hir::definitions::DisambiguatedDefPathData;๐use rustc_hir::Pat;๐use rustc_hir::PatKind;๐use rustc_lint_defs::FutureIncompatibleInfo;๐use rustc_lint_defs::Lint;๐use rustc_lint_defs::LintExpectationId;๐use rustc_lint_defs::LintId;๐use rustc_lint_defs::StableLintExpectationId;๐use rustc_lint_defs::UnstableLintExpectationId;๐use rustc_middle::lint::LevelSpec;๐use rustc_middle::lint::StableLevelSpec;๐use rustc_middle::lint::UnstableLevelSpec;๐use rustc_middle::middle::privacy::EffectiveVisibilities;๐use rustc_middle::ty::layout::LayoutError;๐use rustc_middle::ty::layout::LayoutOfHelpers;๐use rustc_middle::ty::layout::TyAndLayout;๐use rustc_middle::ty::print::PrintError;๐use rustc_middle::ty::print::PrintTraitRefExt as _;๐use rustc_middle::ty::print::Printer;๐use rustc_middle::ty::print::with_no_trimmed_paths;๐use rustc_middle::ty::print::with_no_trimmed_paths;๐use rustc_middle::ty;๐use rustc_middle::ty::RegisteredTools;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::TypingEnv;๐use rustc_middle::ty::TypingMode;๐use rustc_middle::ty::Unnormalized;๐use rustc_session::DynLintStore;๐use rustc_session::Session;๐use rustc_span::edit_distance::find_best_match_for_names;๐use rustc_span::Ident;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use rustc_span::bug;๐use rustc_span::sym;๐use rustc_structures::LintName;๐use tracing::debug;๐use crate::levels::LintLevelsBuilder;๐use crate::passes::EarlyLintPassObject;๐use crate::passes::LateLintPassObject;๐use self::TargetLint::*;๐
Structsยง
- Early
Context - Context for lint checking of the AST, after expansion, before lowering to HIR.
- Late
Context - Context for lint checking outside of type inference.
- Lint
Alias ๐ - Lint
Group ๐ - Lint
Store - Information about the registered lints.
Enumsยง
- Check
Lint Name Result - Target
Lint ๐ - The target of the
by_namemap, which accounts for renaming/deprecation.
Traitsยง
Type Aliasesยง
- Early
Lint ๐Pass Factory - Late
Lint ๐Pass Factory