Re-exportsยง
use std::assert_matches;๐use rustc_abi::VariantIdx;๐use rustc_data_structures::fx::FxIndexSet;๐use rustc_index::bit_set::DenseBitSet;๐use rustc_index::bit_set::MixedBitSet;๐use rustc_middle::mir;๐use rustc_middle::mir::BasicBlock;๐use rustc_middle::mir::Body;๐use rustc_middle::mir::CallReturnPlaces;๐use rustc_middle::mir::Local;๐use rustc_middle::mir::Location;๐use rustc_middle::mir::StatementKind;๐use rustc_middle::mir::TerminatorEdges;๐use rustc_middle::ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_span::bug;๐use smallvec::SmallVec;๐use tracing::instrument;๐use tracing::instrument;๐use crate::drop_flag_effects::DropFlagState;๐use crate::drop_flag_effects::InactiveVariants;๐use crate::move_paths::HasMoveData;๐use crate::move_paths::Init;๐use crate::move_paths::InitKind;๐use crate::move_paths::InitLocation;๐use crate::move_paths::LookupResult;๐use crate::move_paths::MoveData;๐use crate::move_paths::MovePathIndex;๐use crate::Analysis;๐use crate::GenKill;๐use crate::MaybeReachable;๐use crate::SwitchTargetIndex;๐use crate::drop_flag_effects;๐use crate::drop_flag_effects_for_function_entry;๐use crate::drop_flag_effects_for_location;๐use crate::on_all_children_bits;๐use crate::on_lookup_result_bits;๐
Structsยง
- Ever
Initialized Places EverInitializedPlacestracks all initializations of locals that may have occurred upon reaching a particular point in the control flow for a function, without an interveningStorageDead.- Maybe
Initialized Places MaybeInitializedPlacestracks all places that might be initialized upon reaching a particular point in the control flow for a function.- Maybe
Places Switch IntData - Maybe
Uninitialized Places MaybeUninitializedPlacestracks all places that might be uninitialized upon reaching a particular point in the control flow for a function.
Type Aliasesยง
- Ever
Initialized Places Domain - Maybe
Uninitialized Places Domain - There can be many more
MovePathIndexthan there are locals in a MIR body. We use a mixed bitset to avoid paying too high a memory footprint.