Trait enso_prelude::PartialSemigroup[][src]

pub trait PartialSemigroup<T>: Clone {
    fn concat_mut(&mut self, other: T);

    fn concat_ref(&self, other: T) -> Self
    where
        Self: Clone
, { ... }
fn concat(self, other: T) -> Self { ... } }
Expand description

Mutable Semigroup definition. Impls should satisfy the associativity law: x.concat(y.concat(z)) = x.concat(y).concat(z), in symbolic form: x <> (y <> z) = (x <> y) <> z

Required methods

fn concat_mut(&mut self, other: T)[src]

An associative operation.

Provided methods

fn concat_ref(&self, other: T) -> Self where
    Self: Clone
[src]

An associative operation.

fn concat(self, other: T) -> Self[src]

An associative operation.

Implementations on Foreign Types

impl<T: Semigroup> PartialSemigroup<&'_ Option<T>> for Option<T>[src]

fn concat_mut(&mut self, other: &Self)[src]

impl<T: Semigroup> PartialSemigroup<Option<T>> for Option<T>[src]

fn concat_mut(&mut self, other: Self)[src]

impl<T: Clone> PartialSemigroup<&'_ Vec<T, Global>> for Vec<T>[src]

fn concat_mut(&mut self, other: &Self)[src]

impl<T: Clone> PartialSemigroup<Vec<T, Global>> for Vec<T>[src]

fn concat_mut(&mut self, other: Self)[src]

Implementors

impl<K, V, S> PartialSemigroup<&'_ HashMap<K, V, S>> for HashMap<K, V, S> where
    K: Eq + Hash + Clone,
    V: Semigroup,
    S: Clone + BuildHasher
[src]

fn concat_mut(&mut self, other: &Self)[src]

impl<K, V, S> PartialSemigroup<HashMap<K, V, S>> for HashMap<K, V, S> where
    K: Eq + Hash + Clone,
    V: Semigroup,
    S: Clone + BuildHasher
[src]

fn concat_mut(&mut self, other: Self)[src]