[][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
constraint_generationInternal
constraintsInternal
def_useInternal
diagnosticsInternal

Borrow checker diagnostics.

factsInternal
invalidationInternal
locationInternal
member_constraintsInternal
nllInternal

The entry point of the NLL borrow checker.

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. [...] "

region_inferInternal
renumberInternal
type_checkInternal

This pass type-checks the MIR to ensure it is not broken.

universal_regionsInternal

Code to extract the universally quantified regions declared on a function and the relationships between them. For example:

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
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)

Constants

DEREF_PROJECTIONInternal

Functions

do_mir_borrowckInternal
mir_borrowckInternal
provideInternal