pub enum AtomicDiff<'a, T> {
Unchanged,
Replaced(&'a T),
}
Expand description
A generic type which can represent two possible ‘diff’ states.
Appropriate for primitive types which cannot be ‘partially’ changed (e.g. bool, i32)
c.f. DeepDiff
which can also represent a partially-changed state
Variants§
Implementations§
Trait Implementations§
Source§impl<T> Apply for AtomicDiff<'_, T>where
T: Clone,
impl<T> Apply for AtomicDiff<'_, T>where
T: Clone,
type Parent = T
fn apply_to_base(&self, source: &mut Self::Parent, _: &mut Vec<ApplyError>)
Source§impl<'a, T: Clone> Clone for AtomicDiff<'a, T>
impl<'a, T: Clone> Clone for AtomicDiff<'a, T>
Source§fn clone(&self) -> AtomicDiff<'a, T>
fn clone(&self) -> AtomicDiff<'a, T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a, T: Debug> Debug for AtomicDiff<'a, T>
impl<'a, T: Debug> Debug for AtomicDiff<'a, T>
Source§impl<'a, T: PartialEq> PartialEq for AtomicDiff<'a, T>
impl<'a, T: PartialEq> PartialEq for AtomicDiff<'a, T>
Source§impl<T> Replace for AtomicDiff<'_, T>
impl<T> Replace for AtomicDiff<'_, T>
fn is_unchanged(&self) -> bool
fn is_replaced(&self) -> bool
impl<'a, T> StructuralPartialEq for AtomicDiff<'a, T>
Auto Trait Implementations§
impl<'a, T> Freeze for AtomicDiff<'a, T>
impl<'a, T> RefUnwindSafe for AtomicDiff<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for AtomicDiff<'a, T>where
T: Sync,
impl<'a, T> Sync for AtomicDiff<'a, T>where
T: Sync,
impl<'a, T> Unpin for AtomicDiff<'a, T>
impl<'a, T> UnwindSafe for AtomicDiff<'a, T>where
T: RefUnwindSafe,
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