Struct rustc_mir_dataflow::move_paths::builder::MoveDataBuilder
source · struct MoveDataBuilder<'a, 'tcx> {
body: &'a Body<'tcx>,
tcx: TyCtxt<'tcx>,
param_env: ParamEnv<'tcx>,
data: MoveData<'tcx>,
errors: Vec<(Place<'tcx>, MoveError<'tcx>)>,
un_derefer: UnDerefer<'tcx>,
}
Fields§
§body: &'a Body<'tcx>
§tcx: TyCtxt<'tcx>
§param_env: ParamEnv<'tcx>
§data: MoveData<'tcx>
§errors: Vec<(Place<'tcx>, MoveError<'tcx>)>
§un_derefer: UnDerefer<'tcx>
Implementations§
source§impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
fn new(body: &'a Body<'tcx>, tcx: TyCtxt<'tcx>, param_env: ParamEnv<'tcx>) -> Self
fn new_move_path(
move_paths: &mut IndexVec<MovePathIndex, MovePath<'tcx>>,
path_map: &mut IndexVec<MovePathIndex, SmallVec<[MoveOutIndex; 4]>>,
init_path_map: &mut IndexVec<MovePathIndex, SmallVec<[InitIndex; 4]>>,
parent: Option<MovePathIndex>,
place: Place<'tcx>
) -> MovePathIndex
source§impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
source§impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> MoveDataBuilder<'a, 'tcx>
fn gather_args(&mut self)
fn gather_statement(&mut self, loc: Location, stmt: &Statement<'tcx>)
fn gather_terminator(&mut self, loc: Location, term: &Terminator<'tcx>)
Auto Trait Implementations§
impl<'a, 'tcx> !RefUnwindSafe for MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> !Send for MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> !Sync for MoveDataBuilder<'a, 'tcx>
impl<'a, 'tcx> Unpin for MoveDataBuilder<'a, 'tcx>where
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for MoveDataBuilder<'a, 'tcx>
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 312 bytes