Module rustc_mir_dataflow::impls
source ยท Expand description
Dataflow analyses are built upon some interpretation of the bitvectors attached to each basic block, represented via a zero-sized structure.
Modulesยง
- borrowed_
locals ๐ - initialized ๐
- liveness ๐
- storage_
liveness ๐
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 interveningStorageDead
.- A dataflow analysis that tracks whether a pointer or reference could possibly exist that points to a given local. This analysis ignores fake borrows, so it should not be used by borrowck.
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.