[][src]Module rustc_mir::borrow_check

🔬 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 query borrow-checks the MIR to (further) ensure it is not broken.

Modules

borrow_set [
Experimental
]
error_reporting [
Experimental
]
flows [
Experimental
]

Manages the dataflow bits required for borrowck.

location [
Experimental
]
move_errors [
Experimental
]
mutability_errors [
Experimental
]
nll [
Experimental
]
path_utils [
Experimental
]
place_ext [
Experimental
]
places_conflict [
Experimental
]
prefixes [
Experimental
]

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_muts [
Experimental
]

Structs

Context [
Experimental
]
MirBorrowckCtxt [
Experimental
]
RootPlace [
Experimental
]
SeenTy [
Experimental
]

A simple linked-list threaded up the stack of recursive calls in visit_terminator_drop.

Enums

ArtificialField [
Experimental
]
ContextKind [
Experimental
]
InitializationRequiringAction [
Experimental
]
LocalMutationIsAllowed [
Experimental
]

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

MutateMode [
Experimental
]
NoMovePathFound [
Experimental
]
Overlap [
Experimental
]

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

ReadKind [
Experimental
]

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

ReadOrWrite [
Experimental
]

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

ShallowOrDeep [
Experimental
]
WriteKind [
Experimental
]

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

Functions

do_mir_borrowck [
Experimental
]
mir_borrowck [
Experimental
]
provide [
Experimental
]