struct OnMutBorrow<F>(F);

Tuple Fields§

§0: F

Trait Implementations§

source§

impl<F> Visitor<'_> for OnMutBorrow<F>where
    F: FnMut(&Place<'_>),

source§

fn visit_rvalue(&mut self, rvalue: &Rvalue<'_>, location: Location)

source§

fn visit_body(&mut self, body: &Body<'tcx>)

source§

fn visit_basic_block_data(
    &mut self,
    block: BasicBlock,
    data: &BasicBlockData<'tcx>
)

source§

fn visit_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)

source§

fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location)

source§

fn visit_assign(
    &mut self,
    place: &Place<'tcx>,
    rvalue: &Rvalue<'tcx>,
    location: Location
)

source§

fn visit_terminator(&mut self, terminator: &Terminator<'tcx>, location: Location)

source§

fn visit_assert_message(
    &mut self,
    msg: &AssertKind<Operand<'tcx>>,
    location: Location
)

source§

fn visit_operand(&mut self, operand: &Operand<'tcx>, location: Location)

source§

fn visit_ascribe_user_ty(
    &mut self,
    place: &Place<'tcx>,
    variance: Variance,
    user_ty: &UserTypeProjection,
    location: Location
)

source§

fn visit_coverage(&mut self, coverage: &Coverage, location: Location)

source§

fn visit_retag(&mut self, kind: RetagKind, place: &Place<'tcx>, location: Location)

source§

fn visit_place(
    &mut self,
    place: &Place<'tcx>,
    context: PlaceContext,
    location: Location
)

source§

fn visit_projection(
    &mut self,
    place_ref: PlaceRef<'tcx>,
    context: PlaceContext,
    location: Location
)

source§

fn visit_projection_elem(
    &mut self,
    local: Local,
    proj_base: &[ProjectionElem<Local, Ty<'tcx>>],
    elem: ProjectionElem<Local, Ty<'tcx>>,
    context: PlaceContext,
    location: Location
)

source§

fn super_place(
    &mut self,
    place: &Place<'tcx>,
    context: PlaceContext,
    location: Location
)

source§

fn super_projection(
    &mut self,
    place_ref: PlaceRef<'tcx>,
    context: PlaceContext,
    location: Location
)

source§

fn super_projection_elem(
    &mut self,
    _local: Local,
    _proj_base: &[ProjectionElem<Local, Ty<'tcx>>],
    elem: ProjectionElem<Local, Ty<'tcx>>,
    _context: PlaceContext,
    location: Location
)

source§

fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location)

source§

fn visit_span(&mut self, span: Span)

source§

fn visit_source_info(&mut self, source_info: &SourceInfo)

source§

fn visit_ty(&mut self, ty: Ty<'tcx>, _: TyContext)

source§

fn visit_user_type_projection(&mut self, ty: &UserTypeProjection)

source§

fn visit_user_type_annotation(
    &mut self,
    index: UserTypeAnnotationIndex,
    ty: &CanonicalUserTypeAnnotation<'tcx>
)

source§

fn visit_region(&mut self, region: Region<'tcx>, _: Location)

source§

fn visit_substs(&mut self, substs: &&'tcx List<GenericArg<'tcx>>, _: Location)

source§

fn visit_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)

source§

fn visit_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)

source§

fn visit_local(
    &mut self,
    _local: Local,
    _context: PlaceContext,
    _location: Location
)

source§

fn visit_source_scope(&mut self, scope: SourceScope)

source§

fn super_body(&mut self, body: &Body<'tcx>)

source§

fn super_basic_block_data(
    &mut self,
    block: BasicBlock,
    data: &BasicBlockData<'tcx>
)

source§

fn super_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)

source§

fn super_statement(&mut self, statement: &Statement<'tcx>, location: Location)

source§

fn super_assign(
    &mut self,
    place: &Place<'tcx>,
    rvalue: &Rvalue<'tcx>,
    location: Location
)

source§

fn super_terminator(&mut self, terminator: &Terminator<'tcx>, location: Location)

source§

fn super_assert_message(
    &mut self,
    msg: &AssertKind<Operand<'tcx>>,
    location: Location
)

source§

fn super_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)

source§

fn super_operand(&mut self, operand: &Operand<'tcx>, location: Location)

source§

fn super_ascribe_user_ty(
    &mut self,
    place: &Place<'tcx>,
    _variance: Variance,
    user_ty: &UserTypeProjection,
    location: Location
)

source§

fn super_coverage(&mut self, _coverage: &Coverage, _location: Location)

source§

fn super_retag(
    &mut self,
    _kind: RetagKind,
    place: &Place<'tcx>,
    location: Location
)

source§

fn super_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)

source§

fn super_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)

source§

fn super_source_scope(&mut self, _scope: SourceScope)

source§

fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location)

source§

fn super_span(&mut self, _span: Span)

source§

fn super_source_info(&mut self, source_info: &SourceInfo)

source§

fn super_user_type_projection(&mut self, _ty: &UserTypeProjection)

source§

fn super_user_type_annotation(
    &mut self,
    _index: UserTypeAnnotationIndex,
    ty: &CanonicalUserTypeAnnotation<'tcx>
)

source§

fn super_ty(&mut self, _ty: Ty<'tcx>)

source§

fn super_region(&mut self, _region: Region<'tcx>)

source§

fn super_substs(&mut self, _substs: &&'tcx List<GenericArg<'tcx>>)

source§

fn visit_location(&mut self, body: &Body<'tcx>, location: Location)

Auto Trait Implementations§

§

impl<F> RefUnwindSafe for OnMutBorrow<F>where
    F: RefUnwindSafe,

§

impl<F> Send for OnMutBorrow<F>where
    F: Send,

§

impl<F> Sync for OnMutBorrow<F>where
    F: Sync,

§

impl<F> Unpin for OnMutBorrow<F>where
    F: Unpin,

§

impl<F> UnwindSafe for OnMutBorrow<F>where
    F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.