RenameToReturnPlace in rustc_mir_transform::nrvo - Rust (original) (raw)
fn tcx(&self) -> TyCtxt<'tcx>
fn visit_statement(&mut self, stmt: &mut Statement<'tcx>, loc: Location)
fn visit_terminator(&mut self, terminator: &mut Terminator<'tcx>, loc: Location)
fn visit_local(&mut self, l: &mut Local, ctxt: PlaceContext, _: Location)
fn visit_body(&mut self, body: &mut Body<'tcx>)
fn visit_body_preserves_cfg(&mut self, body: &mut Body<'tcx>)
fn super_body_preserves_cfg(&mut self, body: &mut Body<'tcx>)
fn visit_basic_block_data( &mut self, block: BasicBlock, data: &mut BasicBlockData<'tcx>, )
fn visit_source_scope_data(&mut self, scope_data: &mut SourceScopeData<'tcx>)
fn visit_assign( &mut self, place: &mut Place<'tcx>, rvalue: &mut Rvalue<'tcx>, location: Location, )
fn visit_assert_message( &mut self, msg: &mut AssertKind<Operand<'tcx>>, location: Location, )
fn visit_rvalue(&mut self, rvalue: &mut Rvalue<'tcx>, location: Location)
fn visit_operand(&mut self, operand: &mut Operand<'tcx>, location: Location)
fn visit_ascribe_user_ty( &mut self, place: &mut Place<'tcx>, variance: &mut Variance, user_ty: &mut UserTypeProjection, location: Location, )
fn visit_coverage(&mut self, kind: &mut CoverageKind, location: Location)
fn visit_retag( &mut self, kind: &mut RetagKind, place: &mut Place<'tcx>, location: Location, )
fn visit_place( &mut self, place: &mut Place<'tcx>, context: PlaceContext, location: Location, )
fn super_place( &mut self, place: &mut Place<'tcx>, context: PlaceContext, location: Location, )
fn process_projection<'a>( &mut self, projection: &'a [ProjectionElem<Local, Ty<'tcx>>], location: Location, ) -> Option<Vec<ProjectionElem<Local, Ty<'tcx>>>>
fn process_projection_elem( &mut self, elem: ProjectionElem<Local, Ty<'tcx>>, location: Location, ) -> Option<ProjectionElem<Local, Ty<'tcx>>>
fn visit_const_operand( &mut self, constant: &mut ConstOperand<'tcx>, location: Location, )
This is called for every constant in the MIR body and every required_consts
(i.e., including consts that have been dead-code-eliminated).