[][src]Module rustc_mir::borrow_check

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

This query borrow-checks the MIR to (further) ensure it is not broken.

Modules

borrow_setInternal
conflict_errorsInternal
error_reportingInternal
flowsInternal

Manages the dataflow bits required for borrowck.

locationInternal
move_errorsInternal
mutability_errorsInternal
nllInternal
path_utilsInternal
place_extInternal
places_conflictInternal
prefixesInternal

From the NLL RFC: "The deep [aka 'supporting'] prefixes for an place are formed by stripping away fields and derefs, except that we stop when we reach the deref of a shared reference. [...] "

used_mutsInternal

Structs

MirBorrowckCtxtInternal
RootPlaceInternal
UpvarInternal

Enums

AccessDepthInternal
ArtificialFieldInternal
InitializationRequiringActionInternal
LocalMutationIsAllowedInternal

When checking permissions for a place access, this flag is used to indicate that an immutable local place can be mutated.

MutateModeInternal
NoMovePathFoundInternal
OverlapInternal

The degree of overlap between 2 places for borrow-checking.

ReadKindInternal

Kind of read access to a value (For informational purposes only)

ReadOrWriteInternal

Kind of access to a value: read or write (For informational purposes only)

WriteKindInternal

Kind of write access to a value (For informational purposes only)

Functions

do_mir_borrowckInternal
mir_borrowckInternal
provideInternal