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 |
places_conflict |
[ Experimental ]
|