[−][src]Struct rustc_mir::dataflow::move_paths::MoveData
Fields
move_paths: IndexVec<MovePathIndex, MovePath<'tcx>>moves: IndexVec<MoveOutIndex, MoveOut>loc_map: LocationMap<SmallVec<[MoveOutIndex; 4]>>Each Location l is mapped to the MoveOut's that are effects
of executing the code at l. (There can be multiple MoveOut's
for a given l because each MoveOut is associated with one
particular path being moved.)
path_map: IndexVec<MovePathIndex, SmallVec<[MoveOutIndex; 4]>>rev_lookup: MovePathLookupinits: IndexVec<InitIndex, Init>init_loc_map: LocationMap<SmallVec<[InitIndex; 4]>>Each Location l is mapped to the Inits that are effects
of executing the code at l.
init_path_map: IndexVec<MovePathIndex, SmallVec<[InitIndex; 4]>>Implementations
impl<'tcx> MoveData<'tcx>[src]
pub fn gather_moves(
body: &Body<'tcx>,
tcx: TyCtxt<'tcx>,
param_env: ParamEnv<'tcx>
) -> Result<Self, (Self, Vec<(Place<'tcx>, MoveError<'tcx>)>)>[src]
body: &Body<'tcx>,
tcx: TyCtxt<'tcx>,
param_env: ParamEnv<'tcx>
) -> Result<Self, (Self, Vec<(Place<'tcx>, MoveError<'tcx>)>)>
pub fn base_local(&self, mpi: MovePathIndex) -> Option<Local>[src]
For the move path mpi, returns the root local variable (if any) that starts the path.
(e.g., for a path like a.b.c returns Some(a))
pub fn find_in_move_path_or_its_descendants(
&self,
root: MovePathIndex,
pred: impl Fn(MovePathIndex) -> bool
) -> Option<MovePathIndex>[src]
&self,
root: MovePathIndex,
pred: impl Fn(MovePathIndex) -> bool
) -> Option<MovePathIndex>
Trait Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for MoveData<'tcx>
impl<'tcx> !Send for MoveData<'tcx>
impl<'tcx> !Sync for MoveData<'tcx>
impl<'tcx> Unpin for MoveData<'tcx>
impl<'tcx> !UnwindSafe for MoveData<'tcx>
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,
pub 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<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.
pub 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.