[−][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,
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>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,