Modulesยง
- borrowed_
locals ๐ - initialized ๐
- liveness ๐
- storage_
liveness ๐
Structsยง
- Ever
Initialized Places 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
.- Liveness
Transfer Function - Maybe
Borrowed Locals - 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.
- Maybe
Initialized Places MaybeInitializedPlaces
tracks all places that might be initialized upon reaching a particular point in the control flow for a function.- Maybe
Live Locals - A live-variable dataflow analysis.
- Maybe
Requires Storage - Dataflow analysis that determines whether each local requires storage at a given location; i.e. whether its storage can go away without being observed.
- Maybe
Storage Dead - Maybe
Storage Live - Maybe
Transitive Live Locals - Like
MaybeLiveLocals
, but does not mark locals as live if they are used in a dead assignment. - Maybe
Uninitialized Places MaybeUninitializedPlaces
tracks all places that might be uninitialized upon reaching a particular point in the control flow for a function.
Functionsยง
- always_
storage_ live_ locals - The set of locals in a MIR body that do not have
StorageLive
/StorageDead
annotations. - borrowed_
locals - The set of locals that are borrowed at some point in the MIR body.
Type Aliasesยง
- Ever
Initialized Places Domain - There can be many more
InitIndex
than there are locals in a MIR body. We use a mixed bitset to avoid paying too high a memory footprint. - Maybe
Uninitialized Places Domain - There can be many more
MovePathIndex
than there are locals in a MIR body. We use a mixed bitset to avoid paying too high a memory footprint.