Skip to main content

Module context

Module context 

Source
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ยง

EarlyContext
Context for lint checking of the AST, after expansion, before lowering to HIR.
LateContext
Context for lint checking outside of type inference.
LintAlias ๐Ÿ”’
LintGroup ๐Ÿ”’
LintStore
Information about the registered lints.

Enumsยง

CheckLintNameResult
TargetLint ๐Ÿ”’
The target of the by_name map, which accounts for renaming/deprecation.

Traitsยง

LintContext

Type Aliasesยง

EarlyLintPassFactory ๐Ÿ”’
LateLintPassFactory ๐Ÿ”’