Struct rustc_borrowck::dataflow::BorrowckAnalyses
source · pub struct BorrowckAnalyses<B, U, E> {
pub borrows: B,
pub uninits: U,
pub ever_inits: E,
}
Expand description
A tuple with named fields that can hold either the results or the transient state of the dataflow analyses used by the borrow checker.
Fields§
§borrows: B
§uninits: U
§ever_inits: E
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(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
fn reconstruct_statement_effect(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
fn reconstruct_before_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)
fn reconstruct_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)
Auto Trait Implementations§
impl<B, U, E> RefUnwindSafe for BorrowckAnalyses<B, U, E>where
B: RefUnwindSafe,
E: RefUnwindSafe,
U: RefUnwindSafe,
impl<B, U, E> Send for BorrowckAnalyses<B, U, E>where
B: Send,
E: Send,
U: Send,
impl<B, U, E> Sync for BorrowckAnalyses<B, U, E>where
B: Sync,
E: Sync,
U: Sync,
impl<B, U, E> Unpin for BorrowckAnalyses<B, U, E>where
B: Unpin,
E: Unpin,
U: Unpin,
impl<B, U, E> UnwindSafe for BorrowckAnalyses<B, U, E>where
B: UnwindSafe,
E: UnwindSafe,
U: UnwindSafe,
Blanket Implementations§
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.