Expand description

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

Modules

Structs

DefinitelyInitializedPlaces tracks all places that are definitely initialized upon reaching a particular point in the control flow for a function.
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.
A dataflow analysis that tracks whether a pointer or reference could possibly exist that points to a given local.
MaybeInitializedPlaces tracks all places that might be initialized upon reaching a particular point in the control flow for a function.
Dataflow analysis that determines whether each local requires storage at a given location; i.e. whether its storage can go away without being observed.
Like MaybeLiveLocals, but does not mark locals as live if they are used in a dead assignment.
MaybeUninitializedPlaces tracks all places that might be uninitialized upon reaching a particular point in the control flow for a function.

Functions

The set of locals that are borrowed at some point in the MIR body.
Calls f for each mutable borrow or raw reference in the program.
Inspect a SwitchInt-terminated basic block to see if the condition of that SwitchInt is an enum discriminant.