Module rustc_mir::transform::elaborate_drops[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Re-exports

use dataflow::move_paths::HasMoveData;
use dataflow::move_paths::MoveData;
use dataflow::move_paths::MovePathIndex;
use dataflow::move_paths::LookupResult;
use dataflow::MaybeInitializedPlaces;
use dataflow::MaybeUninitializedPlaces;
use dataflow::DataflowResults;
use dataflow::on_all_children_bits;
use dataflow::on_all_drop_children_bits;
use dataflow::drop_flag_effects_for_location;
use dataflow::on_lookup_result_bits;
use dataflow::MoveDataParamEnv;
use dataflow;
use dataflow::do_dataflow;
use dataflow::DebugFormatted;
use rustc::ty;
use rustc::ty::TyCtxt;
use rustc::mir::*;
use rustc::middle::const_val::ConstVal;
use rustc::mir::interpret::Value;
use rustc::mir::interpret::PrimVal;
use rustc::util::nodemap::FxHashMap;
use rustc_data_structures::indexed_set::IdxSetBuf;
use rustc_data_structures::indexed_vec::Idx;
use transform::MirPass;
use transform::MirSource;
use util::patch::MirPatch;
use util::elaborate_drops::DropFlagState;
use util::elaborate_drops::Unwind;
use util::elaborate_drops::elaborate_drop;
use util::elaborate_drops::DropElaborator;
use util::elaborate_drops::DropStyle;
use util::elaborate_drops::DropFlagMode;
use syntax::ast;
use syntax_pos::Span;
use std::fmt;

Structs

ElaborateDrops [
Experimental
]
ElaborateDropsCtxt [
Experimental
]
Elaborator [
Experimental
]
InitializationData [
Experimental
]

Functions

find_dead_unwinds [
Experimental
]

Return the set of basic blocks whose unwind edges are known to not be reachable, because they are drop terminators that can't drop anything.