Trait diffus::Diffable

source ·
pub trait Diffable<'a> {
    type Diff: 'a;

    // Required method
    fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>;
}

Required Associated Types§

source

type Diff: 'a

Required Methods§

source

fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> Diffable<'a> for bool

§

type Diff = (&'a bool, &'a bool)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for char

§

type Diff = (&'a char, &'a char)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for f32

§

type Diff = (&'a f32, &'a f32)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for f64

§

type Diff = (&'a f64, &'a f64)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for i8

§

type Diff = (&'a i8, &'a i8)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for i16

§

type Diff = (&'a i16, &'a i16)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for i32

§

type Diff = (&'a i32, &'a i32)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for i64

§

type Diff = (&'a i64, &'a i64)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for isize

§

type Diff = (&'a isize, &'a isize)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for str

§

type Diff = Vec<Edit>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for u8

§

type Diff = (&'a u8, &'a u8)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for u16

§

type Diff = (&'a u16, &'a u16)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for u32

§

type Diff = (&'a u32, &'a u32)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for u64

§

type Diff = (&'a u64, &'a u64)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for ()

§

type Diff = (&'a (), &'a ())

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for usize

§

type Diff = (&'a usize, &'a usize)

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a> Diffable<'a> for String

§

type Diff = <str as Diffable<'a>>::Diff

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, K: Eq + Ord + 'a, V: Diffable<'a> + 'a> Diffable<'a> for BTreeMap<K, V>

§

type Diff = BTreeMap<&'a K, Edit<'a, V>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, K: Eq + Hash + 'a, V: Diffable<'a> + 'a> Diffable<'a> for HashMap<K, V>

§

type Diff = HashMap<&'a K, Edit<'a, V>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, K: Diffable<'a> + Eq + Ord + 'a> Diffable<'a> for BTreeSet<K>

§

type Diff = BTreeMap<&'a K, Edit<'a, K>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, K: Diffable<'a> + Eq + Hash + 'a> Diffable<'a> for HashSet<K>

§

type Diff = HashMap<&'a K, Edit<'a, K>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, T: Diffable<'a> + 'a> Diffable<'a> for Option<T>

§

type Diff = Edit<'a, Option<T>, <T as Diffable<'a>>::Diff>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, T: Diffable<'a> + ?Sized + 'a> Diffable<'a> for &'a T

§

type Diff = <T as Diffable<'a>>::Diff

source§

fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>

source§

impl<'a, T: Diffable<'a> + ?Sized + 'a> Diffable<'a> for Box<T>

§

type Diff = Box<<T as Diffable<'a>>::Diff>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>

source§

impl<'a, T: Diffable<'a> + ?Sized + 'a> Diffable<'a> for Rc<T>

§

type Diff = Rc<<T as Diffable<'a>>::Diff>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>

source§

impl<'a, T: Diffable<'a> + ?Sized + 'a> Diffable<'a> for Arc<T>

§

type Diff = Arc<<T as Diffable<'a>>::Diff>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'a, Self>

source§

impl<'a, T: Same + Diffable<'a> + 'a> Diffable<'a> for BinaryHeap<T>

§

type Diff = Vec<Edit<'a, T, <T as Diffable<'a>>::Diff>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, T: Same + Diffable<'a> + 'a> Diffable<'a> for LinkedList<T>

§

type Diff = Vec<Edit<'a, T, <T as Diffable<'a>>::Diff>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, T: Same + Diffable<'a> + 'a> Diffable<'a> for VecDeque<T>

§

type Diff = Vec<Edit<'a, T, <T as Diffable<'a>>::Diff>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

source§

impl<'a, T: Same + Diffable<'a> + 'a> Diffable<'a> for Vec<T>

§

type Diff = Vec<Edit<'a, T, <T as Diffable<'a>>::Diff>>

source§

fn diff(&'a self, other: &'a Self) -> Edit<'_, Self>

Implementors§