Struct rustc_borrowck::dataflow::BorrowckAnalyses [−][src]
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
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::Domain, U::Domain, E::Domain>
Creates an empty FlowState
to hold the transient state for these dataflow results. Read more
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.