Struct rustc_mir::borrow_check::borrow_set::BorrowSet[][src]

pub(crate) struct BorrowSet<'tcx> {
    pub(crate) borrows: IndexVec<BorrowIndex, BorrowData<'tcx>>,
    pub(crate) location_map: FxHashMap<Location, BorrowIndex>,
    pub(crate) activation_map: FxHashMap<Location, Vec<BorrowIndex>>,
    pub(crate) region_map: FxHashMap<Region<'tcx>, FxHashSet<BorrowIndex>>,
    pub(crate) local_map: FxHashMap<Local, FxHashSet<BorrowIndex>>,
}
🔬 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?

Fields

🔬 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?

The fundamental map relating bitvector indexes to the borrows in the MIR.

🔬 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?

Each borrow is also uniquely identified in the MIR by the Location of the assignment statement in which it appears on the right hand side; we map each such location to the corresponding BorrowIndex.

🔬 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?

Locations which activate borrows. NOTE: A given location may activate more than one borrow in the future when more general two-phase borrow support is introduced, but for now we only need to store one borrow index

🔬 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?

Every borrow has a region; this maps each such regions back to its borrow-indexes.

🔬 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?

Map from local to all the borrows on that local

Methods

impl<'tcx> BorrowSet<'tcx>
[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?

Important traits for &'a mut [u8]

🔬 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?

Trait Implementations

impl<'tcx> Index<BorrowIndex> for BorrowSet<'tcx>
[src]

The returned type after indexing.

Performs the indexing (container[index]) operation.

Auto Trait Implementations

impl<'tcx> !Send for BorrowSet<'tcx>

impl<'tcx> !Sync for BorrowSet<'tcx>