Trait Diff

Source
pub trait Diff:
    Clone
    + Debug
    + PartialEq {
    type Type: Sized + Clone + Debug + PartialEq + for<'de> Deserialize<'de> + Serialize;

    // Required methods
    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>;
}
๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Expand description

The primary Diff Trait type.

Required Associated Typesยง

Source

type Type: Sized + Clone + Debug + PartialEq + for<'de> Deserialize<'de> + Serialize

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

The Corresponding Diff Type for the implemented Type.

Required Methodsยง

Source

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Finds the difference between two types; self and other and returns Self::Type

Source

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges a Self::Type with Self

Source

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a diff of type Self::Type to a Self.

Source

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a type of Self to a diff of Self::Type.

Dyn Compatibilityยง

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Typesยง

Sourceยง

impl Diff for Value

The Diff implementation for serde_json::Value.

Sourceยง

type Type = DiffValue

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

The Diff Type for serde_json::Value.

Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Compares two serde_json::Value types; self, diff and outputs a DiffValue type.

Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges a DiffValue; diff with self; a serde_json::Value to create a new serde_json::Value.

Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts from a diff of type DiffValue to a serde_json::Value.

Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

converts a serde_json::Value to a DiffValue.

Sourceยง

impl Diff for bool

Sourceยง

type Type = Diffbool

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for char

Sourceยง

type Type = Diffchar

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for f32

Sourceยง

type Type = DiffF32

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for f64

Sourceยง

type Type = DiffF64

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for i8

Sourceยง

type Type = Diffi8

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for i16

Sourceยง

type Type = Diffi16

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for i32

Sourceยง

type Type = Diffi32

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for i64

Sourceยง

type Type = Diffi64

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for i128

Sourceยง

type Type = Diffi128

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for isize

Sourceยง

type Type = DiffiSize

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for u8

Sourceยง

type Type = Diffu8

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for u16

Sourceยง

type Type = Diffu16

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for u32

Sourceยง

type Type = Diffu32

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for u64

Sourceยง

type Type = Diffu64

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for u128

Sourceยง

type Type = Diffu128

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for ()

Sourceยง

type Type = Diffunit

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for usize

Sourceยง

type Type = DiffuSize

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for BTreeMap<String, Value>

Sourceยง

type Type = DiffHashMap<String, Value>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

impl Diff for String

Diff trait implementation for String.

Sourceยง

type Type = DiffString

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Diff type for String

Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

compares two String types; self, other and returns a DiffString type.

Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges a DiffString; diff with a String; self.

Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a DiffString into a String type.

Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a String into a DiffString type.

Sourceยง

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>

Sourceยง

type Type = DiffHashMap<K, V>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

the Diff type of the HashMap<K, V>

Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Diffs two HashMaps; self and other and creates a DiffHashMap<K, V>

Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges the changes in a DiffHashMap<K, V>, diff with a HashMap<K, V>, self.

Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a DiffHashMap<K, V>, diff into a HashMap<K, V>.

Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a HashMap<K, V>, diff into a DiffHashMap<K, V>.

Sourceยง

impl<T> Diff for Option<T>
where T: Diff + Clone + Debug + PartialEq + Default + for<'de> Deserialize<'de> + Serialize,

Diff Implementation for Option<T>

Sourceยง

type Type = DiffOption<T>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

The Corresponding Diff type for Option<T>

Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: 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.

Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges a DiffOption<T>; diff type with an Option<T> type; self.

Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

converts a DiffOption<T>; diff to an Option<T> type.

Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

converts a Option<T>; self to an DiffOption<T> type.

Sourceยง

impl<T> Diff for Vec<T>
where T: Clone + Debug + PartialEq + Diff + for<'de> Deserialize<'de> + Serialize,

Diff trait implementation for Vec<T>

Sourceยง

type Type = DiffVec<T>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Corresponding Diff Type for Vec<T>

Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Compares two Vec<T> types; self, other and returns a DiffVec<T> type.

Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Merges a DiffVec<T>; diff with self; a Vec<T> to create a new Vec<T>.

Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a DiffVec<T>; diff into a Vec<T>.

Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Converts a Vec<T> into a DiffVec<T>

Sourceยง

impl<T> Diff for HashSet<T>
where T: Debug + Clone + PartialEq + Eq + Diff + Hash + for<'de> Deserialize<'de> + Serialize,

Sourceยง

type Type = DiffHashSet<T>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn diff(&self, other: &Self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn merge(&self, diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn into_diff(self) -> Result<Self::Type>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal
Sourceยง

fn from_diff(diff: Self::Type) -> Result<Self>

๐Ÿ‘ŽDeprecated since 0.5.0: diff chain features are slated for removal

Implementorsยง