Mergeable

Trait Mergeable 

Source
pub trait Mergeable:
    Clone
    + Send
    + Sync {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn merge(&mut self, other: &Self) -> Result<(), Self::Error>;
    fn has_conflict(&self, other: &Self) -> bool;
}
Expand description

Trait for types that can be merged with other instances

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Required Methods§

Source

fn merge(&mut self, other: &Self) -> Result<(), Self::Error>

Merge this instance with another instance

Source

fn has_conflict(&self, other: &Self) -> bool

Check if there’s a conflict with another instance

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.

Implementors§

Source§

impl Mergeable for CustomCrdt

Source§

impl Mergeable for GCounter

Source§

impl<K, V> Mergeable for LwwMap<K, V>
where K: Clone + Eq + Hash + Send + Sync, V: Clone + PartialEq + Send + Sync,

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for AddWinsGraph<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for RemoveWinsGraph<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for AddWinsList<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for LwwList<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for RemoveWinsList<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for AddWinsTree<T>

Source§

impl<T: Clone + PartialEq + Eq + Send + Sync> Mergeable for RemoveWinsTree<T>

Source§

impl<T: Clone + PartialEq + Send + Sync> Mergeable for Dag<T>

Source§

impl<T: Clone + PartialEq + Send + Sync> Mergeable for Lseq<T>

Source§

impl<T: Clone + PartialEq + Send + Sync> Mergeable for Rga<T>

Source§

impl<T: Clone + PartialEq + Send + Sync> Mergeable for YjsTree<T>

Source§

impl<T: Clone + PartialEq + Send + Sync> Mergeable for LwwRegister<T>