pub trait AdditiveGroup:
    Sized
    + Eq
    + 'static
    + CanonicalSerialize
    + CanonicalDeserialize
    + Copy
    + Clone
    + Default
    + Send
    + Sync
    + Hash
    + Debug
    + Display
    + UniformRand
    + Zeroize
    + Zero<Output = Self, Output = Self, Output = Self>
    + Neg<Output = Self>
    + Add
    + Sub<Output = Self, Output = Self, Output = Self>
    + Mul<Self::Scalar, Output = Self, Output = Self, Output = Self>
    + AddAssign
    + SubAssign
    + MulAssign<Self::Scalar>
    + for<'a> Add<&'a Self>
    + for<'a> Sub<&'a Self>
    + for<'a> Mul<&'a Self::Scalar>
    + for<'a> AddAssign<&'a Self>
    + for<'a> SubAssign<&'a Self>
    + for<'a> MulAssign<&'a Self::Scalar>
    + for<'a> Add<&'a mut Self>
    + for<'a> Sub<&'a mut Self>
    + for<'a> Mul<&'a mut Self::Scalar>
    + for<'a> AddAssign<&'a mut Self>
    + for<'a> SubAssign<&'a mut Self>
    + for<'a> MulAssign<&'a mut Self::Scalar>
    + Sum
    + for<'a> Sum<&'a Self> {
    type Scalar: Field;
    const ZERO: Self;
    // Provided methods
    fn double(&self) -> Self { ... }
    fn double_in_place(&mut self) -> &mut Self { ... }
    fn neg_in_place(&mut self) -> &mut Self { ... }
}Required Associated Constants§
Required Associated Types§
Provided Methods§
Sourcefn double_in_place(&mut self) -> &mut Self
 
fn double_in_place(&mut self) -> &mut Self
Doubles self in place.
Sourcefn neg_in_place(&mut self) -> &mut Self
 
fn neg_in_place(&mut self) -> &mut Self
Negates self in place.
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.