Struct rustc_borrowck::type_check::liveness::local_use_map::LocalUseMapBuild
source · struct LocalUseMapBuild<'me> {
local_use_map: &'me mut LocalUseMap,
elements: &'me RegionValueElements,
locals_with_use_data: IndexVec<Local, bool>,
}
Fields§
§local_use_map: &'me mut LocalUseMap
§elements: &'me RegionValueElements
§locals_with_use_data: IndexVec<Local, bool>
Implementations§
source§impl LocalUseMapBuild<'_>
impl LocalUseMapBuild<'_>
fn insert_def(&mut self, local: Local, location: Location)
fn insert_use(&mut self, local: Local, location: Location)
fn insert_drop(&mut self, local: Local, location: Location)
fn insert( elements: &RegionValueElements, first_appearance: &mut Option<AppearanceIndex>, appearances: &mut IndexVec<AppearanceIndex, Appearance>, location: Location )
Trait Implementations§
source§impl Visitor<'_> for LocalUseMapBuild<'_>
impl Visitor<'_> for LocalUseMapBuild<'_>
fn visit_local( &mut self, local: Local, context: PlaceContext, location: Location )
fn visit_body(&mut self, body: &Body<'tcx>)
fn visit_basic_block_data( &mut self, block: BasicBlock, data: &BasicBlockData<'tcx> )
fn visit_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)
fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location)
fn visit_assign( &mut self, place: &Place<'tcx>, rvalue: &Rvalue<'tcx>, location: Location )
fn visit_terminator( &mut self, terminator: &Terminator<'tcx>, location: Location )
fn visit_assert_message( &mut self, msg: &AssertKind<Operand<'tcx>>, location: Location )
fn visit_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
fn visit_operand(&mut self, operand: &Operand<'tcx>, location: Location)
fn visit_ascribe_user_ty( &mut self, place: &Place<'tcx>, variance: Variance, user_ty: &UserTypeProjection, location: Location )
fn visit_coverage(&mut self, coverage: &Coverage, location: Location)
fn visit_retag( &mut self, kind: RetagKind, place: &Place<'tcx>, location: Location )
fn visit_place( &mut self, place: &Place<'tcx>, context: PlaceContext, location: Location )
fn visit_projection( &mut self, place_ref: PlaceRef<'tcx>, context: PlaceContext, location: Location )
fn visit_projection_elem( &mut self, local: Local, proj_base: &[ProjectionElem<Local, Ty<'tcx>>], elem: ProjectionElem<Local, Ty<'tcx>>, context: PlaceContext, location: Location )
fn super_place( &mut self, place: &Place<'tcx>, context: PlaceContext, location: Location )
fn super_projection( &mut self, place_ref: PlaceRef<'tcx>, context: PlaceContext, location: Location )
fn super_projection_elem( &mut self, _local: Local, _proj_base: &[ProjectionElem<Local, Ty<'tcx>>], elem: ProjectionElem<Local, Ty<'tcx>>, _context: PlaceContext, location: Location )
fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location)
fn visit_span(&mut self, span: Span)
fn visit_source_info(&mut self, source_info: &SourceInfo)
fn visit_ty(&mut self, ty: Ty<'tcx>, _: TyContext)
fn visit_user_type_projection(&mut self, ty: &UserTypeProjection)
fn visit_user_type_annotation( &mut self, index: UserTypeAnnotationIndex, ty: &CanonicalUserTypeAnnotation<'tcx> )
fn visit_region(&mut self, region: Region<'tcx>, _: Location)
fn visit_substs(&mut self, substs: &&'tcx List<GenericArg<'tcx>>, _: Location)
fn visit_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)
fn visit_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)
fn visit_source_scope(&mut self, scope: SourceScope)
fn super_body(&mut self, body: &Body<'tcx>)
fn super_basic_block_data( &mut self, block: BasicBlock, data: &BasicBlockData<'tcx> )
fn super_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)
fn super_statement(&mut self, statement: &Statement<'tcx>, location: Location)
fn super_assign( &mut self, place: &Place<'tcx>, rvalue: &Rvalue<'tcx>, location: Location )
fn super_terminator( &mut self, terminator: &Terminator<'tcx>, location: Location )
fn super_assert_message( &mut self, msg: &AssertKind<Operand<'tcx>>, location: Location )
fn super_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
fn super_operand(&mut self, operand: &Operand<'tcx>, location: Location)
fn super_ascribe_user_ty( &mut self, place: &Place<'tcx>, _variance: Variance, user_ty: &UserTypeProjection, location: Location )
fn super_coverage(&mut self, _coverage: &Coverage, _location: Location)
fn super_retag( &mut self, _kind: RetagKind, place: &Place<'tcx>, location: Location )
fn super_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)
fn super_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)
fn super_source_scope(&mut self, _scope: SourceScope)
fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location)
fn super_span(&mut self, _span: Span)
fn super_source_info(&mut self, source_info: &SourceInfo)
fn super_user_type_projection(&mut self, _ty: &UserTypeProjection)
fn super_user_type_annotation( &mut self, _index: UserTypeAnnotationIndex, ty: &CanonicalUserTypeAnnotation<'tcx> )
fn super_ty(&mut self, _ty: Ty<'tcx>)
fn super_region(&mut self, _region: Region<'tcx>)
fn super_substs(&mut self, _substs: &&'tcx List<GenericArg<'tcx>>)
fn visit_location(&mut self, body: &Body<'tcx>, location: Location)
Auto Trait Implementations§
impl<'me> RefUnwindSafe for LocalUseMapBuild<'me>
impl<'me> Send for LocalUseMapBuild<'me>
impl<'me> Sync for LocalUseMapBuild<'me>
impl<'me> Unpin for LocalUseMapBuild<'me>
impl<'me> !UnwindSafe for LocalUseMapBuild<'me>
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: 40 bytes