[−][src]Struct rustc_mir::dataflow::impls::MaybeLiveLocals
A live-variable dataflow analysis.
This analysis considers references as being used only at the point of the
borrow. In other words, this analysis does not track uses because of references that already
exist. See this mir-datalow test for an example. You almost never want to use
this analysis without also looking at the results of MaybeBorrowedLocals.
Implementations
impl MaybeLiveLocals[src]
fn transfer_function<T, 'a>(&self, trans: &'a mut T) -> TransferFunction<'a, T>[src]
Trait Implementations
impl<'tcx> AnalysisDomain<'tcx> for MaybeLiveLocals[src]
type Idx = Local
The type of the elements in the state vector.
type Direction = Backward
The direction of this analyis. Either Forward or Backward.
const NAME: &'static str[src]
fn bits_per_block(&self, body: &Body<'tcx>) -> usize[src]
fn initialize_start_block(&self, _: &Body<'tcx>, _: &mut BitSet<Self::Idx>)[src]
fn pretty_print_idx(&self, w: &mut impl Write, idx: Self::Idx) -> Result<()>[src]
impl BottomValue for MaybeLiveLocals[src]
const BOTTOM_VALUE: bool[src]
fn join<T: Idx>(&self, inout_set: &mut BitSet<T>, in_set: &BitSet<T>) -> bool[src]
impl<'tcx> GenKillAnalysis<'tcx> for MaybeLiveLocals[src]
fn statement_effect(
&self,
trans: &mut impl GenKill<Self::Idx>,
statement: &Statement<'tcx>,
location: Location
)[src]
&self,
trans: &mut impl GenKill<Self::Idx>,
statement: &Statement<'tcx>,
location: Location
)
fn terminator_effect(
&self,
trans: &mut impl GenKill<Self::Idx>,
terminator: &Terminator<'tcx>,
location: Location
)[src]
&self,
trans: &mut impl GenKill<Self::Idx>,
terminator: &Terminator<'tcx>,
location: Location
)
fn call_return_effect(
&self,
trans: &mut impl GenKill<Self::Idx>,
_block: BasicBlock,
_func: &Operand<'tcx>,
_args: &[Operand<'tcx>],
dest_place: Place<'tcx>
)[src]
&self,
trans: &mut impl GenKill<Self::Idx>,
_block: BasicBlock,
_func: &Operand<'tcx>,
_args: &[Operand<'tcx>],
dest_place: Place<'tcx>
)
fn yield_resume_effect(
&self,
trans: &mut impl GenKill<Self::Idx>,
_resume_block: BasicBlock,
resume_place: Place<'tcx>
)[src]
&self,
trans: &mut impl GenKill<Self::Idx>,
_resume_block: BasicBlock,
resume_place: Place<'tcx>
)
fn before_statement_effect(
&self,
_trans: &mut impl GenKill<Self::Idx>,
_statement: &Statement<'tcx>,
_location: Location
)[src]
&self,
_trans: &mut impl GenKill<Self::Idx>,
_statement: &Statement<'tcx>,
_location: Location
)
fn before_terminator_effect(
&self,
_trans: &mut impl GenKill<Self::Idx>,
_terminator: &Terminator<'tcx>,
_location: Location
)[src]
&self,
_trans: &mut impl GenKill<Self::Idx>,
_terminator: &Terminator<'tcx>,
_location: Location
)
fn discriminant_switch_effect(
&self,
_state: &mut impl GenKill<Self::Idx>,
_block: BasicBlock,
_enum_place: Place<'tcx>,
_adt: &AdtDef,
_variant: VariantIdx
)[src]
&self,
_state: &mut impl GenKill<Self::Idx>,
_block: BasicBlock,
_enum_place: Place<'tcx>,
_adt: &AdtDef,
_variant: VariantIdx
)
impl<'tcx> RustcPeekAt<'tcx> for MaybeLiveLocals[src]
Auto Trait Implementations
impl RefUnwindSafe for MaybeLiveLocals
impl Send for MaybeLiveLocals
impl Sync for MaybeLiveLocals
impl Unpin for MaybeLiveLocals
impl UnwindSafe for MaybeLiveLocals
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<'tcx, A> RustcPeekAt<'tcx> for A where
A: Analysis<'tcx, Idx = MovePathIndex> + HasMoveData<'tcx>, [src]
A: Analysis<'tcx, Idx = MovePathIndex> + HasMoveData<'tcx>,
fn peek_at(
&Self,
TyCtxt<'tcx>,
Place<'tcx>,
&BitSet<<A as AnalysisDomain<'tcx>>::Idx>,
PeekCall
)[src]
&Self,
TyCtxt<'tcx>,
Place<'tcx>,
&BitSet<<A as AnalysisDomain<'tcx>>::Idx>,
PeekCall
)
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.