pub enum SumDiff<LD, RD, L, R> {
BothLeft(LD),
BothRight(RD),
LeftToRight(R),
RightToLeft(L),
}Expand description
Diff of a sum type: either both are the same variant (structural diff) or the variant changed (full replacement).
Variants§
BothLeft(LD)
Both values are Left; contains diff of inner values.
BothRight(RD)
Both values are Right; contains diff of inner values.
LeftToRight(R)
Variant changed from Left to Right.
RightToLeft(L)
Variant changed from Right to Left.
Trait Implementations§
Source§impl<LD: PartialEq, RD: PartialEq, L: PartialEq, R: PartialEq> PartialEq for SumDiff<LD, RD, L, R>
impl<LD: PartialEq, RD: PartialEq, L: PartialEq, R: PartialEq> PartialEq for SumDiff<LD, RD, L, R>
impl<LD: Eq, RD: Eq, L: Eq, R: Eq> Eq for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> StructuralPartialEq for SumDiff<LD, RD, L, R>
Auto Trait Implementations§
impl<LD, RD, L, R> Freeze for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> RefUnwindSafe for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> Send for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> Sync for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> Unpin for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> UnsafeUnpin for SumDiff<LD, RD, L, R>
impl<LD, RD, L, R> UnwindSafe for SumDiff<LD, RD, L, R>
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