Struct rustc_borrowck::used_muts::GatherUsedMutsVisitor [−][src]
struct GatherUsedMutsVisitor<'visit, 'cx, 'tcx> {
temporary_used_locals: FxHashSet<Local>,
never_initialized_mut_locals: &'visit mut FxHashSet<Local>,
mbcx: &'visit mut MirBorrowckCtxt<'cx, 'tcx>,
}
Expand description
MIR visitor for collecting used mutable variables. The ’visit lifetime represents the duration of the MIR walk.
Fields
temporary_used_locals: FxHashSet<Local>
never_initialized_mut_locals: &'visit mut FxHashSet<Local>
mbcx: &'visit mut MirBorrowckCtxt<'cx, 'tcx>
Implementations
Trait Implementations
fn visit_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
variance: &Variance,
user_ty: &UserTypeProjection,
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, &'tcx TyS<'tcx>>],
elem: ProjectionElem<Local, &'tcx TyS<'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, &'tcx TyS<'tcx>>],
elem: ProjectionElem<Local, &'tcx TyS<'tcx>>,
_context: PlaceContext,
location: Location
)
fn visit_user_type_annotation(
&mut self,
index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
)
fn super_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
_variance: &Variance,
user_ty: &UserTypeProjection,
location: Location
)
fn super_user_type_annotation(
&mut self,
_index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
)
Auto Trait Implementations
impl<'visit, 'cx, 'tcx> !RefUnwindSafe for GatherUsedMutsVisitor<'visit, 'cx, 'tcx>
impl<'visit, 'cx, 'tcx> !Send for GatherUsedMutsVisitor<'visit, 'cx, 'tcx>
impl<'visit, 'cx, 'tcx> !Sync for GatherUsedMutsVisitor<'visit, 'cx, 'tcx>
impl<'visit, 'cx, 'tcx> Unpin for GatherUsedMutsVisitor<'visit, 'cx, 'tcx> where
'cx: 'visit,
'tcx: 'visit,
impl<'visit, 'cx, 'tcx> !UnwindSafe for GatherUsedMutsVisitor<'visit, 'cx, '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: 48 bytes