Module rustc_mir::dataflow::impls[][src]

Dataflow analyses are built upon some interpretation of the bitvectors attached to each basic block, represented via a zero-sized structure.

Modules

borrowed_locals
borrows
init_locals

A less precise version of MaybeInitializedPlaces whose domain is entire locals.

liveness
storage_liveness

Structs

Borrows

Borrows stores the data used in the analyses that track the flow of borrows.

DefinitelyInitializedPlaces

DefinitelyInitializedPlaces tracks all places that are definitely initialized upon reaching a particular point in the control flow for a function.

EverInitializedPlaces

EverInitializedPlaces tracks all places that might have ever been initialized upon reaching a particular point in the control flow for a function, without an intervening StorageDead.

MaybeBorrowedLocals

A dataflow analysis that tracks whether a pointer or reference could possibly exist that points to a given local.

MaybeInitializedLocals
MaybeInitializedPlaces

MaybeInitializedPlaces tracks all places that might be initialized upon reaching a particular point in the control flow for a function.

MaybeLiveLocals

A live-variable dataflow analysis.

MaybeRequiresStorage

Dataflow analysis that determines whether each local requires storage at a given location; i.e. whether its storage can go away without being observed.

MaybeStorageLive
MaybeUninitializedPlaces

MaybeUninitializedPlaces tracks all places that might be uninitialized upon reaching a particular point in the control flow for a function.

Functions

switch_on_enum_discriminant

Inspect a SwitchInt-terminated basic block to see if the condition of that SwitchInt is an enum discriminant.

Type Definitions

MaybeMutBorrowedLocals