Struct rustc_mir::transform::generator::LivenessInfo [−][src]
struct LivenessInfo {
saved_locals: GeneratorSavedLocals,
live_locals_at_suspension_points: Vec<BitSet<GeneratorSavedLocal>>,
source_info_at_suspension_points: Vec<SourceInfo>,
storage_conflicts: BitMatrix<GeneratorSavedLocal, GeneratorSavedLocal>,
storage_liveness: IndexVec<BasicBlock, Option<BitSet<Local>>>,
}Fields
saved_locals: GeneratorSavedLocalsExpand description
Which locals are live across any suspension point.
live_locals_at_suspension_points: Vec<BitSet<GeneratorSavedLocal>>Expand description
The set of saved locals live at each suspension point.
source_info_at_suspension_points: Vec<SourceInfo>Expand description
Parallel vec to the above with SourceInfo for each yield terminator.
storage_conflicts: BitMatrix<GeneratorSavedLocal, GeneratorSavedLocal>Expand description
For every saved local, the set of other saved locals that are storage-live at the same time as this local. We cannot overlap locals in the layout which have conflicting storage.
storage_liveness: IndexVec<BasicBlock, Option<BitSet<Local>>>Expand description
For every suspending block, the locals which are storage-live across that suspension point.
Auto Trait Implementations
impl RefUnwindSafe for LivenessInfo
impl !Send for LivenessInfo
impl !Sync for LivenessInfo
impl Unpin for LivenessInfo
impl UnwindSafe for LivenessInfo
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]