Skip to main content

Module dead

Module dead 

Source

Re-exportsΒ§

use std::mem; πŸ”’
use std::ops::ControlFlow; πŸ”’
use std::sync::atomic::Ordering; πŸ”’
use hir::def_id::LocalDefIdSet; πŸ”’
use rustc_abi::FieldIdx; πŸ”’
use rustc_attr_ir::find_attr; πŸ”’
use rustc_data_structures::fx::FxHashMap; πŸ”’
use rustc_data_structures::fx::FxHashSet; πŸ”’
use rustc_errors::ErrorGuaranteed; πŸ”’
use rustc_errors::MultiSpan; πŸ”’
use rustc_hir::def::CtorOf; πŸ”’
use rustc_hir::def::DefKind; πŸ”’
use rustc_hir::def::Res; πŸ”’
use rustc_hir::def_id::DefId; πŸ”’
use rustc_hir::def_id::LocalDefId; πŸ”’
use rustc_hir::def_id::LocalDefIdMap; πŸ”’
use rustc_hir::def_id::LocalModId; πŸ”’
use rustc_hir::intravisit; πŸ”’
use rustc_hir::intravisit::Visitor; πŸ”’
use rustc_hir as hir; πŸ”’
use rustc_hir::ForeignItemId; πŸ”’
use rustc_hir::ItemId; πŸ”’
use rustc_hir::Node; πŸ”’
use rustc_hir::PatKind; πŸ”’
use rustc_hir::QPath; πŸ”’
use rustc_lint_defs::builtin::DEAD_CODE; πŸ”’
use rustc_lint_defs::builtin::DEAD_CODE_PUB_IN_BINARY; πŸ”’
use rustc_lint_defs as lint; πŸ”’
use rustc_lint_defs::Lint; πŸ”’
use rustc_lint_defs::StableLintExpectationId; πŸ”’
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; πŸ”’
use rustc_middle::middle::dead_code::DeadCodeLivenessSnapshot; πŸ”’
use rustc_middle::middle::dead_code::DeadCodeLivenessSummary; πŸ”’
use rustc_middle::middle::privacy::Level; πŸ”’
use rustc_middle::query::Providers; πŸ”’
use rustc_middle::ty; πŸ”’
use rustc_middle::ty::AssocTag; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_span::ExpnKind; πŸ”’
use rustc_span::MacroKind; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::Symbol; πŸ”’
use rustc_span::bug; πŸ”’
use rustc_span::kw; πŸ”’
use rustc_span::span_bug; πŸ”’
use rustc_structures::CrateType; πŸ”’
use crate::diagnostics::ChangeFields; πŸ”’
use crate::diagnostics::DeadCodePubInBinaryNote; πŸ”’
use crate::diagnostics::MultipleDeadCodes; πŸ”’
use crate::diagnostics::ParentInfo; πŸ”’
use crate::diagnostics::UselessAssignment; πŸ”’

StructsΒ§

DeadItem πŸ”’
DeadVisitor πŸ”’
DeferredSeeds πŸ”’
LiveSymbols πŸ”’
MarkSymbolVisitor πŸ”’
ScannedItem πŸ”’
SeedWorklists πŸ”’
WorkItem πŸ”’
Carries both the propagated allow/expect context and the current item’s own allow/expect status.

EnumsΒ§

ComesFromAllowExpect πŸ”’
Determine if a work from the worklist is coming from a #[allow] or a #[expect] of dead_code
ImplItemCheckResult πŸ”’
ReportOn πŸ”’
ShouldWarnAboutField πŸ”’

FunctionsΒ§

check_mod_deathness πŸ”’
create_and_seed_worklist πŸ”’
has_allow_dead_code_or_lang_attr πŸ”’
lint_dead_codes πŸ”’
live_symbols_and_trivial_usage_sites πŸ”’
maybe_record_as_seed πŸ”’
Examine the given definition and record it in the worklist if it should be considered live.
provide πŸ”’
should_explore πŸ”’
Any local definition that may call something in its body block should be explored. For example, if it’s a live function, then we should explore its block to check for codes that may need to be marked as live.