Module rustc_mir::borrow_check::nll::type_check::liveness[][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 borrow_check::nll::region_infer::Cause;
use borrow_check::nll::type_check::AtLocation;
use dataflow::move_paths::HasMoveData;
use dataflow::move_paths::MoveData;
use dataflow::MaybeInitializedPlaces;
use dataflow::FlowAtLocation;
use dataflow::FlowsAtLocation;
use rustc::infer::region_constraints::RegionConstraintData;
use rustc::mir::Local;
use rustc::mir::BasicBlock;
use rustc::mir::Location;
use rustc::mir::Mir;
use rustc::traits::ObligationCause;
use rustc::ty::subst::Kind;
use rustc::ty::Ty;
use rustc::ty::TypeFoldable;
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::fx::FxHashMap;
use std::rc::Rc;
use util::liveness::LivenessResults;
use super::TypeChecker;

Structs

DropData [
Experimental
]
TypeLivenessGenerator [
Experimental
]

Functions

generate [
Experimental
]

Combines liveness analysis with initialization analysis to determine which variables are live at which points, both due to ordinary uses and drops. Returns a set of (ty, location) pairs that indicate which types must be live at which point in the CFG. This vector is consumed by constraint_generation.