pub trait Sector:
Clone
+ Eq
+ Ord
+ Hash
+ Debug {
// Required methods
fn fuse(&self, other: &Self) -> Self;
fn identity() -> Self;
fn dual(&self) -> Self;
}Expand description
Abelian symmetry sector.
For abelian groups the fusion of two sectors is unique and commutative. The following algebraic laws must hold for every implementation:
- Identity:
s.fuse(&S::identity()) == s - Inverse:
s.fuse(&s.dual()) == S::identity() - Commutativity:
s.fuse(&t) == t.fuse(&s)
Ord is required so that index types can keep sectors in sorted order
for binary search and merge operations.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".