Module rustc_mir::borrow_check::path_utils[][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::ArtificialField;
use borrow_check::borrow_set::BorrowSet;
use borrow_check::borrow_set::BorrowData;
use borrow_check::borrow_set::TwoPhaseUse;
use borrow_check::Context;
use borrow_check::Overlap;
use borrow_check::ShallowOrDeep;
use borrow_check::Deep;
use borrow_check::Shallow;
use dataflow::indexes::BorrowIndex;
use rustc::hir;
use rustc::mir::BasicBlock;
use rustc::mir::Location;
use rustc::mir::Mir;
use rustc::mir::Place;
use rustc::mir::Projection;
use rustc::mir::ProjectionElem;
use rustc::mir::BorrowKind;
use rustc::ty;
use rustc::ty::TyCtxt;
use rustc_data_structures::control_flow_graph::dominators::Dominators;
use rustc_data_structures::small_vec::SmallVec;
use std::iter;

Enums

Control [
Experimental
]

Control for the path borrow checking code

Functions

allow_two_phase_borrow [
Experimental
]
borrow_of_local_data [
Experimental
]

Determines if a given borrow is borrowing local data This is called for all Yield statements on movable generators

each_borrow_involving_path [
Experimental
]

Encapsulates the idea of iterating over every borrow that involves a particular path

is_active [
Experimental
]
place_element_conflict [
Experimental
]
place_elements [
Experimental
]

Return all the prefixes of place in reverse order, including downcasts.

places_conflict [
Experimental
]