pub trait Commute: Sized {
fn merge(&mut self, other: Self);
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.