pub enum FlowKind {
Show 17 variants
Assign,
Derive,
Read,
Write,
Return,
Argument,
Reference,
Dereference,
Conditional,
SharedBorrow,
MutBorrow,
Move,
Clone,
Copy,
Drop,
Reborrow,
Index,
}Expand description
Kind of data flow.
Variants§
Assign
Value is assigned: target = source.
Derive
Value is derived/computed: target = f(source).
Read
Value is read from source.
Write
Value is written to target.
Return
Value is returned from function.
Argument
Value is passed as argument.
Reference
Value flows through a reference (legacy, prefer SharedBorrow/MutBorrow).
Dereference
Value flows through a dereference.
Conditional
Conditional flow (if/match guard).
Shared borrow: &source.
MutBorrow
Mutable borrow: &mut source.
Move
Ownership transfer (move): target = source where source is not Copy.
Clone
Clone operation: target = source.clone().
Copy
Copy operation: target = source where source is Copy.
Drop
Drop/scope end: value goes out of scope.
Reborrow
Reborrow: borrowing from an existing reference.
Index
Index operation: collection[index].
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FlowKind
impl<'de> Deserialize<'de> for FlowKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for FlowKind
impl Eq for FlowKind
impl StructuralPartialEq for FlowKind
Auto Trait Implementations§
impl Freeze for FlowKind
impl RefUnwindSafe for FlowKind
impl Send for FlowKind
impl Sync for FlowKind
impl Unpin for FlowKind
impl UnsafeUnpin for FlowKind
impl UnwindSafe for FlowKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more