Trait identity_diff::Diff
source · [−]pub trait Diff: Clone + Debug + PartialEq {
type Type: Sized + Clone + Debug + PartialEq + for<'de> Deserialize<'de> + Serialize;
fn diff(&self, other: &Self) -> Result<Self::Type>;
fn merge(&self, diff: Self::Type) -> Result<Self>;
fn from_diff(diff: Self::Type) -> Result<Self>;
fn into_diff(self) -> Result<Self::Type>;
}
diff chain features are slated for removal
Expand description
The primary Diff
Trait type.
Required Associated Types
Required Methods
diff chain features are slated for removal
Finds the difference between two types; self
and other
and returns Self::Type
diff chain features are slated for removal
Merges a Self::Type
with Self
diff chain features are slated for removal
Converts a diff
of type Self::Type
to a Self
.
Implementations on Foreign Types
sourceimpl<K, V> Diff for HashMap<K, V> where
K: Clone + Debug + PartialEq + Eq + Hash + Diff + for<'de> Deserialize<'de> + Serialize,
V: Clone + Debug + PartialEq + Diff + for<'de> Deserialize<'de> + Serialize,
impl<K, V> Diff for HashMap<K, V> where
K: Clone + Debug + PartialEq + Eq + Hash + Diff + for<'de> Deserialize<'de> + Serialize,
V: Clone + Debug + PartialEq + Diff + for<'de> Deserialize<'de> + Serialize,
Diff Implementation on a HashMap<K, V>
type Type = DiffHashMap<K, V>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
type Type = DiffHashMap<K, V>
diff chain features are slated for removal
the Diff type of the HashMap<K, V>
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
Diffs two HashMaps
; self
and other
and creates a DiffHashMap<K, V>
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
Merges the changes in a DiffHashMap<K, V>
, diff
with a HashMap<K, V>
, self
.
sourceimpl<T> Diff for HashSet<T> where
T: Debug + Clone + PartialEq + Eq + Diff + Hash + for<'de> Deserialize<'de> + Serialize,
impl<T> Diff for HashSet<T> where
T: Debug + Clone + PartialEq + Eq + Diff + Hash + for<'de> Deserialize<'de> + Serialize,
type Type = DiffHashSet<T>
type Type = DiffHashSet<T>
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for i8
impl Diff for i8
type Type = Diffi8
type Type = Diffi8
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for i16
impl Diff for i16
type Type = Diffi16
type Type = Diffi16
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for i32
impl Diff for i32
type Type = Diffi32
type Type = Diffi32
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for i64
impl Diff for i64
type Type = Diffi64
type Type = Diffi64
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for i128
impl Diff for i128
type Type = Diffi128
type Type = Diffi128
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for isize
impl Diff for isize
type Type = DiffiSize
type Type = DiffiSize
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for u8
impl Diff for u8
type Type = Diffu8
type Type = Diffu8
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for u16
impl Diff for u16
type Type = Diffu16
type Type = Diffu16
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for u32
impl Diff for u32
type Type = Diffu32
type Type = Diffu32
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for u64
impl Diff for u64
type Type = Diffu64
type Type = Diffu64
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for u128
impl Diff for u128
type Type = Diffu128
type Type = Diffu128
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for usize
impl Diff for usize
type Type = DiffuSize
type Type = DiffuSize
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for f32
impl Diff for f32
type Type = DiffF32
type Type = DiffF32
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for f64
impl Diff for f64
type Type = DiffF64
type Type = DiffF64
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for bool
impl Diff for bool
type Type = Diffbool
type Type = Diffbool
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for char
impl Diff for char
type Type = Diffchar
type Type = Diffchar
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for ()
impl Diff for ()
type Type = Diffunit
type Type = Diffunit
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl Diff for BTreeMap<String, Value>
impl Diff for BTreeMap<String, Value>
type Type = DiffHashMap<String, Value>
type Type = DiffHashMap<String, Value>
diff chain features are slated for removal
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
sourceimpl<T> Diff for Option<T> where
T: Diff + Clone + Debug + PartialEq + Default + for<'de> Deserialize<'de> + Serialize,
impl<T> Diff for Option<T> where
T: Diff + Clone + Debug + PartialEq + Default + for<'de> Deserialize<'de> + Serialize,
Diff
Implementation for Option<T>
type Type = DiffOption<T>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
type Type = DiffOption<T>
diff chain features are slated for removal
The Corresponding Diff type for Option<T>
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
Compares two Option<T>
types; self
and other
and finds the Difference between them, returning a
DiffOption<T>
type.
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
Merges a DiffOption<T>
; diff
type with an Option<T>
type; self
.
sourceimpl Diff for String
impl Diff for String
Diff
trait implementation for String
.
type Type = DiffString
👎 Deprecated since 0.5.0: diff chain features are slated for removal
type Type = DiffString
diff chain features are slated for removal
Diff type for String
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
compares two String
types; self
, other
and returns a DiffString
type.
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
Merges a DiffString
; diff
with a String
; self
.
sourceimpl Diff for Value
impl Diff for Value
The Diff implementation for serde_json::Value
.
type Type = DiffValue
👎 Deprecated since 0.5.0: diff chain features are slated for removal
type Type = DiffValue
diff chain features are slated for removal
The Diff Type for serde_json::Value
.
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
Compares two serde_json::Value
types; self
, diff
and outputs a DiffValue
type.
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
Merges a DiffValue
; diff
with self
; a serde_json::Value
to create a new serde_json::Value
.
sourceimpl<T> Diff for Vec<T> where
T: Clone + Debug + PartialEq + Diff + for<'de> Deserialize<'de> + Serialize,
impl<T> Diff for Vec<T> where
T: Clone + Debug + PartialEq + Diff + for<'de> Deserialize<'de> + Serialize,
Diff
trait implementation for Vec<T>
type Type = DiffVec<T>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
type Type = DiffVec<T>
diff chain features are slated for removal
Corresponding Diff Type for Vec<T>
sourcefn diff(&self, other: &Self) -> Result<Self::Type>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn diff(&self, other: &Self) -> Result<Self::Type>
diff chain features are slated for removal
Compares two Vec<T>
types; self
, other
and returns a DiffVec<T>
type.
sourcefn merge(&self, diff: Self::Type) -> Result<Self>
👎 Deprecated since 0.5.0: diff chain features are slated for removal
fn merge(&self, diff: Self::Type) -> Result<Self>
diff chain features are slated for removal
Merges a DiffVec<T>
; diff
with self
; a Vec<T>
to create a new Vec<T>
.