pub trait AnnotatedSemigroup<A>: Sized + Semigroup {
// Required method
fn annotated_op(
base: Annotated<Self, A>,
other: Annotated<Self, A>,
) -> Annotated<Self, A>;
}Expand description
AnnotatedSemigroup is a Semigroup that has an annotation.
Required Methods§
fn annotated_op( base: Annotated<Self, A>, other: Annotated<Self, A>, ) -> Annotated<Self, A>
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§
impl<A, T: Ord> AnnotatedSemigroup<A> for Max<T>
impl<A, T: Ord> AnnotatedSemigroup<A> for Min<T>
impl<T, A> AnnotatedSemigroup<A> for Coalesce<T>
impl<T, A> AnnotatedSemigroup<A> for Overwrite<T>
impl<T: IntoIterator + FromIterator<T::Item>, A: IntoIterator + FromIterator<A::Item>> AnnotatedSemigroup<A> for Concat<T>
impl<T: AnnotatedSemigroup<A>, A> AnnotatedSemigroup<Option<A>> for OptionMonoid<T>
Available on crate feature
monoid only.