Enum flowistry_pdg::rustc::mir::visit::MutatingUseContext
source · pub enum MutatingUseContext {
Store,
SetDiscriminant,
Deinit,
AsmOutput,
Call,
Yield,
Drop,
Borrow,
AddressOf,
Projection,
Retag,
}
Variants§
Store
Appears as LHS of an assignment.
SetDiscriminant
Appears on SetDiscriminant
Deinit
Appears on Deinit
AsmOutput
Output operand of an inline assembly block.
Call
Destination of a call.
Yield
Destination of a yield.
Drop
Being dropped.
Borrow
Mutable borrow.
AddressOf
AddressOf for *mut pointer.
Projection
Used as base for another place, e.g., x
in x.y
. Could potentially mutate the place.
For example, the projection x.y
is marked as a mutation in these cases:
ⓘ
x.y = ...;
f(&mut x.y);
Retag
Retagging, a “Stacked Borrows” shadow state operation
Auto Trait Implementations§
impl RefUnwindSafe for MutatingUseContext
impl Send for MutatingUseContext
impl Sync for MutatingUseContext
impl Unpin for MutatingUseContext
impl UnwindSafe for MutatingUseContext
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more