[][src]Trait serde_diff::SerdeDiff

pub trait SerdeDiff {
    pub fn diff<'a, S: SerializeSeq>(
        &self,
        ctx: &mut DiffContext<'a, S>,
        other: &Self
    ) -> Result<bool, S::Error>;
pub fn apply<'de, A>(
        &mut self,
        seq: &mut A,
        ctx: &mut ApplyContext
    ) -> Result<bool, <A as SeqAccess<'de>>::Error>
    where
        A: SeqAccess<'de>
; }

Anything diffable implements this trait

Required methods

pub fn diff<'a, S: SerializeSeq>(
    &self,
    ctx: &mut DiffContext<'a, S>,
    other: &Self
) -> Result<bool, S::Error>
[src]

Recursively walk the struct, invoking serialize_element on each member if the element is different. Returns true if any changes exist, otherwise false. After this call, the DiffContext will contain the data that has changed.

pub fn apply<'de, A>(
    &mut self,
    seq: &mut A,
    ctx: &mut ApplyContext
) -> Result<bool, <A as SeqAccess<'de>>::Error> where
    A: SeqAccess<'de>, 
[src]

Applies the diff to the struct. Returns true if the struct was changed, otherwise false.

Loading content...

Implementations on Foreign Types

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for Vec<T>[src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 1][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 2][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 3][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 4][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 5][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 6][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 7][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 8][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 9][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 10][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 11][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 12][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 13][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 14][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 15][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 16][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 17][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 18][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 19][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 20][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 21][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 22][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 23][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 24][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 25][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 26][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 27][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 28][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 29][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 30][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 31][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 32][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 40][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 48][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 50][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 56][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 64][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 72][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 96][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 100][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 128][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 160][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 192][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 200][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 224][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 256][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 384][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 512][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 768][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 1024][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 2048][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 4096][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 8192][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 16384][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 32768][src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for [T; 65536][src]

impl<T0> SerdeDiff for (T0,) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1> SerdeDiff for (T0, T1) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2> SerdeDiff for (T0, T1, T2) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3> SerdeDiff for (T0, T1, T2, T3) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4> SerdeDiff for (T0, T1, T2, T3, T4) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5> SerdeDiff for (T0, T1, T2, T3, T4, T5) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T11: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T11: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T12: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T11: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T12: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T13: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T11: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T12: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T13: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T14: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> SerdeDiff for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) where
    T0: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T1: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T2: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T3: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T4: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T5: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T6: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T7: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T8: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T9: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T10: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T11: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T12: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T13: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T14: SerdeDiff + Serialize + for<'a> Deserialize<'a>,
    T15: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<K, V> SerdeDiff for HashMap<K, V> where
    K: SerdeDiff + Serialize + for<'a> Deserialize<'a> + Hash + Eq,
    V: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl<K, V> SerdeDiff for BTreeMap<K, V> where
    K: SerdeDiff + Serialize + for<'a> Deserialize<'a> + Ord,
    V: SerdeDiff + Serialize + for<'a> Deserialize<'a>, 
[src]

impl SerdeDiff for bool[src]

impl SerdeDiff for isize[src]

impl SerdeDiff for i8[src]

impl SerdeDiff for i16[src]

impl SerdeDiff for i32[src]

impl SerdeDiff for i64[src]

impl SerdeDiff for usize[src]

impl SerdeDiff for u8[src]

impl SerdeDiff for u16[src]

impl SerdeDiff for u32[src]

impl SerdeDiff for u64[src]

impl SerdeDiff for i128[src]

impl SerdeDiff for u128[src]

impl SerdeDiff for f32[src]

impl SerdeDiff for f64[src]

impl SerdeDiff for char[src]

impl SerdeDiff for String[src]

impl SerdeDiff for CString[src]

impl SerdeDiff for OsString[src]

impl SerdeDiff for NonZeroU8[src]

impl SerdeDiff for NonZeroU16[src]

impl SerdeDiff for NonZeroU32[src]

impl SerdeDiff for NonZeroU64[src]

impl SerdeDiff for Duration[src]

impl SerdeDiff for SystemTime[src]

impl SerdeDiff for IpAddr[src]

impl SerdeDiff for Ipv4Addr[src]

impl SerdeDiff for Ipv6Addr[src]

impl SerdeDiff for SocketAddr[src]

impl SerdeDiff for SocketAddrV4[src]

impl SerdeDiff for SocketAddrV6[src]

impl SerdeDiff for PathBuf[src]

impl<T: SerdeDiff + Serialize + for<'a> Deserialize<'a>> SerdeDiff for Option<T>[src]

impl SerdeDiff for ()[src]

Loading content...

Implementors

Loading content...