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
sourceimpl<'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>
sourcefn 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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.