Type Alias rustc_borrowck::dataflow::BorrowckResults
source · pub type BorrowckResults<'mir, 'tcx> = BorrowckAnalyses<Results<'tcx, Borrows<'mir, 'tcx>>, Results<'tcx, MaybeUninitializedPlaces<'mir, 'tcx>>, Results<'tcx, EverInitializedPlaces<'mir, 'tcx>>>;
Expand description
The results of the dataflow analyses used by the borrow checker.
Aliased Type§
struct BorrowckResults<'mir, 'tcx> {
pub borrows: Results<'tcx, Borrows<'mir, 'tcx>, IndexVec<BasicBlock, BitSet<BorrowIndex>>>,
pub uninits: Results<'tcx, MaybeUninitializedPlaces<'mir, 'tcx>, IndexVec<BasicBlock, ChunkedBitSet<MovePathIndex>>>,
pub ever_inits: Results<'tcx, EverInitializedPlaces<'mir, 'tcx>, IndexVec<BasicBlock, ChunkedBitSet<InitIndex>>>,
}
Fields§
§borrows: Results<'tcx, Borrows<'mir, 'tcx>, IndexVec<BasicBlock, BitSet<BorrowIndex>>>
§uninits: Results<'tcx, MaybeUninitializedPlaces<'mir, 'tcx>, IndexVec<BasicBlock, ChunkedBitSet<MovePathIndex>>>
§ever_inits: Results<'tcx, EverInitializedPlaces<'mir, 'tcx>, IndexVec<BasicBlock, ChunkedBitSet<InitIndex>>>
Trait Implementations§
source§impl<'tcx, B, U, E, D: Direction> ResultsVisitable<'tcx> for BorrowckAnalyses<Results<'tcx, B>, Results<'tcx, U>, Results<'tcx, E>>where
B: Analysis<'tcx, Direction = D>,
U: Analysis<'tcx, Direction = D>,
E: Analysis<'tcx, Direction = D>,
impl<'tcx, B, U, E, D: Direction> ResultsVisitable<'tcx> for BorrowckAnalyses<Results<'tcx, B>, Results<'tcx, U>, Results<'tcx, E>>where B: Analysis<'tcx, Direction = D>, U: Analysis<'tcx, Direction = D>, E: Analysis<'tcx, Direction = D>,
type Direction = D
type FlowState = BorrowckAnalyses<<B as AnalysisDomain<'tcx>>::Domain, <U as AnalysisDomain<'tcx>>::Domain, <E as AnalysisDomain<'tcx>>::Domain>
source§fn new_flow_state(&self, body: &Body<'tcx>) -> Self::FlowState
fn new_flow_state(&self, body: &Body<'tcx>) -> Self::FlowState
Creates an empty
FlowState
to hold the transient state for these dataflow results. Read morefn reset_to_block_entry(&self, state: &mut Self::FlowState, block: BasicBlock)
fn reconstruct_before_statement_effect( &mut self, state: &mut Self::FlowState, stmt: &Statement<'tcx>, loc: Location )
fn reconstruct_statement_effect( &mut self, state: &mut Self::FlowState, stmt: &Statement<'tcx>, loc: Location )
fn reconstruct_before_terminator_effect( &mut self, state: &mut Self::FlowState, term: &Terminator<'tcx>, loc: Location )
fn reconstruct_terminator_effect( &mut self, state: &mut Self::FlowState, term: &Terminator<'tcx>, loc: Location )
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 240 bytes