[−][src]Struct serde_diff::Diff
A serializable structure that will produce a sequence of diff commands when serialized.
You can pass this to a serializer, or use the convenience method diff
to pass your serializer along with old/new values to use when serializing the diff.
Examples
use serde_diff::{SerdeDiff, Diff}; use serde::{Serialize, Deserialize}; #[derive(SerdeDiff, Serialize, Deserialize, PartialEq)] struct Test { a: i32, } let diff = Diff::serializable(&Test { a: 3 }, &Test { a: 5 });
Implementations
impl<'a, 'b, T: SerdeDiff + 'a + 'b> Diff<'a, 'b, T>
[src]
pub fn serializable(old: &'a T, new: &'b T) -> Self
[src]
Create a serializable Diff, which when serialized will write the differences between the old and new value into the serializer in the form of a sequence of diff commands
pub fn diff<S: Serializer>(
serializer: S,
old: &'a T,
new: &'b T
) -> Result<S::Ok, S::Error>
[src]
serializer: S,
old: &'a T,
new: &'b T
) -> Result<S::Ok, S::Error>
Writes the differences between the old and new value into the given serializer in the form of a sequence of diff commands
pub fn has_changes(&self) -> bool
[src]
True if a change was detected during the diff
Trait Implementations
Auto Trait Implementations
impl<'a, 'b, T> !RefUnwindSafe for Diff<'a, 'b, T>
[src]
impl<'a, 'b, T> Send for Diff<'a, 'b, T> where
T: Sync,
[src]
T: Sync,
impl<'a, 'b, T> !Sync for Diff<'a, 'b, T>
[src]
impl<'a, 'b, T> Unpin for Diff<'a, 'b, T>
[src]
impl<'a, 'b, T> UnwindSafe for Diff<'a, 'b, T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,