[][src]Trait rustc_mir::borrow_check::place_ext::PlaceExt

pub(crate) trait PlaceExt<'tcx> {
    fn ignore_borrow(
        &self,
        tcx: TyCtxt<'_, '_, 'tcx>,
        mir: &Mir<'tcx>,
        locals_state_at_exit: &LocalsStateAtExit
    ) -> bool;
fn root_local(&self) -> Option<Local>; }
🔬 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?

Extension methods for the Place type.

Required Methods

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

Returns true if we can safely ignore borrows of this place. This is true whenever there is no action that the user can do to the place self that would invalidate the borrow. This is true for borrows of raw pointer dereferents as well as shared references.

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

If this is a place like x.f.g, returns the local x. Returns None if this is based in a static.

Implementations on Foreign Types

impl<'tcx> PlaceExt<'tcx> for Place<'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?

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

Implementors