[][src]Module rustc_mir::borrow_check

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

Modules

borrow_set
constraint_generation
constraints
def_use
diagnostics

Borrow checker diagnostics.

facts
invalidation
location
member_constraints
nll

The entry point of the NLL borrow checker.

path_utils
place_ext
places_conflict
prefixes

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_infer
renumber
type_check

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

universal_regions

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

used_muts

Structs

MirBorrowckCtxt
RootPlace
Upvar

Enums

AccessDepth
ArtificialField
InitializationRequiringAction
LocalMutationIsAllowed

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

MutateMode
Overlap

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

ReadKind

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

ReadOrWrite

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

WriteKind

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

Constants

DEREF_PROJECTION

Functions

do_mir_borrowck
mir_borrowck
provide