1 2 3 4 5 6 7 8 9
use empty::Empty; use semigroup::Semigroup; pub trait Monoid: Empty + Semigroup {} impl Monoid for i32 {} impl Monoid for i64 {} impl<T: Clone> Monoid for Vec<T> {} impl Monoid for String {}
1 2 3 4 5 6 7 8 9
use empty::Empty; use semigroup::Semigroup; pub trait Monoid: Empty + Semigroup {} impl Monoid for i32 {} impl Monoid for i64 {} impl<T: Clone> Monoid for Vec<T> {} impl Monoid for String {}