Re-exportsΒ§
use std::fmt;πuse rustc_abi::FieldIdx;πuse rustc_abi::VariantIdx;πuse rustc_index::IndexVec;πuse rustc_index::bit_set::DenseBitSet;πuse rustc_middle::ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_mir_dataflow::impls::MaybeInitializedPlaces;πuse rustc_mir_dataflow::impls::MaybeUninitializedPlaces;πuse rustc_mir_dataflow::move_paths::LookupResult;πuse rustc_mir_dataflow::move_paths::MoveData;πuse rustc_mir_dataflow::move_paths::MovePathIndex;πuse rustc_mir_dataflow::Analysis;πuse rustc_mir_dataflow::DropFlagState;πuse rustc_mir_dataflow::MoveDataTypingEnv;πuse rustc_mir_dataflow::ResultsCursor;πuse rustc_mir_dataflow::on_all_children_bits;πuse rustc_mir_dataflow::on_lookup_result_bits;πuse rustc_span::Span;πuse tracing::debug;πuse tracing::instrument;πuse tracing::instrument;πuse crate::PassPolicy;πuse crate::elaborate_drop::DropElaborator;πuse crate::elaborate_drop::DropFlagMode;πuse crate::elaborate_drop::DropStyle;πuse crate::elaborate_drop::Unwind;πuse crate::elaborate_drop::elaborate_drop;πuse crate::patch::MirPatch;πuse rustc_middle::mir::*;π
StructsΒ§
- Elaborate
Drops π - During MIR building, Drop terminators are inserted in every place where a drop may occur. However, in this phase, the presence of these terminators does not guarantee that a destructor will run, as the target of the drop may be uninitialized. In general, the compiler cannot determine at compile time whether a destructor will run or not.
- Elaborate
Drops πCtxt - Initialization
Data π
FunctionsΒ§
- compute_
dead_ πunwinds - Records unwind edges which are known to be unreachable, because they are in
dropterminators that canβt drop anything.