pub trait Semigroup {
// Required method
fn combine(&self, other: &Self) -> Self;
}
Expand description
A Semigroup is a class of thing that has a definable combine operation
Required Methods§
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<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup> Semigroup for (A, B, C, D, E)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup> Semigroup for (A, B, C, D, E)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup> Semigroup for (A, B, C, D, E, F)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup> Semigroup for (A, B, C, D, E, F)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup> Semigroup for (A, B, C, D, E, F, G)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup> Semigroup for (A, B, C, D, E, F, G)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup> Semigroup for (A, B, C, D, E, F, G, H)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup> Semigroup for (A, B, C, D, E, F, G, H)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
Source§impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup, U: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup, U: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
Implementors§
impl Semigroup for HNil
Since () + () = (), the same is true for HNil
impl Semigroup for All<bool>
impl Semigroup for All<i8>
impl Semigroup for All<i16>
impl Semigroup for All<i32>
impl Semigroup for All<i64>
impl Semigroup for All<isize>
impl Semigroup for All<u8>
impl Semigroup for All<u16>
impl Semigroup for All<u32>
impl Semigroup for All<u64>
impl Semigroup for All<usize>
impl Semigroup for Any<bool>
impl Semigroup for Any<i8>
impl Semigroup for Any<i16>
impl Semigroup for Any<i32>
impl Semigroup for Any<i64>
impl Semigroup for Any<isize>
impl Semigroup for Any<u8>
impl Semigroup for Any<u16>
impl Semigroup for Any<u32>
impl Semigroup for Any<u64>
impl Semigroup for Any<usize>
impl Semigroup for Product<f32>
impl Semigroup for Product<f64>
impl Semigroup for Product<i8>
impl Semigroup for Product<i16>
impl Semigroup for Product<i32>
impl Semigroup for Product<i64>
impl Semigroup for Product<isize>
impl Semigroup for Product<u8>
impl Semigroup for Product<u16>
impl Semigroup for Product<u32>
impl Semigroup for Product<u64>
impl Semigroup for Product<usize>
impl<H: Semigroup, T: HList + Semigroup> Semigroup for HCons<H, T>
Allow the combination of any two HLists having the same structure if all of the sub-element types are also Semiups