Trait Group

Source
pub trait Group:
    Clone
    + Debug
    + Eq
    + Sized
    + Add<Output = Self>
    + Sub<Output = Self>
    + Neg<Output = Self>
    + for<'a> Add<&'a Self, Output = Self>
    + for<'a> Sub<&'a Self, Output = Self>
    + AddAssign
    + SubAssign
    + for<'a> AddAssign<&'a Self>
    + for<'a> SubAssign<&'a Self> {
    type SelfRef<'a>: Add<&'a Self, Output = Self> + Sub<&'a Self, Output = Self>
       where Self: 'a;

    const IDENTITY: Self;

    // Required methods
    fn is_identity(&self) -> bool;
    fn double(&self) -> Self;
    fn double_assign(&mut self);
}

Required Associated Constants§

Source

const IDENTITY: Self

Required Associated Types§

Source

type SelfRef<'a>: Add<&'a Self, Output = Self> + Sub<&'a Self, Output = Self> where Self: 'a

Required Methods§

Source

fn is_identity(&self) -> bool

Source

fn double(&self) -> Self

Source

fn double_assign(&mut self)

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§