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<B: Debug, U: Debug, E: Debug> Debug for BorrowckAnalyses<B, U, E>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
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>,

§

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

Creates an empty FlowState to hold the transient state for these dataflow results. Read more
source§

fn reset_to_block_entry(&self, state: &mut Self::FlowState, block: BasicBlock)

source§

fn reconstruct_before_statement_effect( &mut self, state: &mut Self::FlowState, stmt: &Statement<'tcx>, loc: Location )

source§

fn reconstruct_statement_effect( &mut self, state: &mut Self::FlowState, stmt: &Statement<'tcx>, loc: Location )

source§

fn reconstruct_before_terminator_effect( &mut self, state: &mut Self::FlowState, term: &Terminator<'tcx>, loc: Location )

source§

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