stats

Trait Commute

Source
pub trait Commute: Sized {
    // Required method
    fn merge(&mut self, other: Self);

    // Provided method
    fn consume<I: Iterator<Item = Self>>(&mut self, other: I) { ... }
}
Expand description

Defines an interface for types that have an identity and can be commuted.

The value returned by Default::default must be its identity with respect to the merge operation.

Required Methods§

Source

fn merge(&mut self, other: Self)

Merges the value other into self.

Provided Methods§

Source

fn consume<I: Iterator<Item = Self>>(&mut self, other: I)

Merges the values in the iterator into self.

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<T: Commute> Commute for Option<T>

Source§

fn merge(&mut self, other: Option<T>)

Source§

impl<T: Commute> Commute for Vec<T>

Source§

fn merge(&mut self, other: Vec<T>)

Source§

impl<T: Commute, E> Commute for Result<T, E>

Source§

fn merge(&mut self, other: Result<T, E>)

Implementors§