pub trait AddAssign<Rhs = Self> {
// Required method
fn add_assign(&mut self, rhs: Rhs);
}Expand description
The addition assignment operator +=.
§Examples
This example creates a Point struct that implements the AddAssign
trait, and then demonstrates add-assigning to a mutable Point.
use std::ops::AddAssign;
#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
x: i32,
y: i32,
}
impl AddAssign for Point {
fn add_assign(&mut self, other: Self) {
*self = Self {
x: self.x + other.x,
y: self.y + other.y,
};
}
}
let mut point = Point { x: 1, y: 0 };
point += Point { x: 2, y: 3 };
assert_eq!(point, Point { x: 3, y: 3 });Required Methods§
1.8.0 (const: unstable) · Sourcefn add_assign(&mut self, rhs: Rhs)
fn add_assign(&mut self, rhs: Rhs)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl AddAssign for BigInt
impl AddAssign for BigUint
impl AddAssign for Checked<Limb>
impl AddAssign for Duration
impl AddAssign for FieldElement
impl AddAssign for airbender_crypto::k256::ProjectivePoint
impl AddAssign for Saturating<i8>
impl AddAssign for Saturating<i16>
impl AddAssign for Saturating<i32>
impl AddAssign for Saturating<i64>
impl AddAssign for Saturating<i128>
impl AddAssign for Saturating<isize>
impl AddAssign for Saturating<u8>
impl AddAssign for Saturating<u16>
impl AddAssign for Saturating<u32>
impl AddAssign for Saturating<u64>
impl AddAssign for Saturating<u128>
impl AddAssign for Saturating<usize>
impl AddAssign for airbender_crypto::k256::Scalar
impl AddAssign for airbender_crypto::p256::Scalar
impl AddAssign for airbender_crypto::secp256k1::scalars::Scalar
impl AddAssign for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>
impl AddAssign for core::num::wrapping::Wrapping<i8>
impl AddAssign for core::num::wrapping::Wrapping<i16>
impl AddAssign for core::num::wrapping::Wrapping<i32>
impl AddAssign for core::num::wrapping::Wrapping<i64>
impl AddAssign for core::num::wrapping::Wrapping<i128>
impl AddAssign for core::num::wrapping::Wrapping<isize>
impl AddAssign for core::num::wrapping::Wrapping<u8>
impl AddAssign for core::num::wrapping::Wrapping<u16>
impl AddAssign for core::num::wrapping::Wrapping<u32>
impl AddAssign for core::num::wrapping::Wrapping<u64>
impl AddAssign for core::num::wrapping::Wrapping<u128>
impl AddAssign for core::num::wrapping::Wrapping<usize>
impl AddAssign for f16
impl AddAssign for f32
impl AddAssign for f64
impl AddAssign for f128
impl AddAssign for i8
impl AddAssign for i16
impl AddAssign for i32
impl AddAssign for i64
impl AddAssign for i128
impl AddAssign for isize
impl AddAssign for u8
impl AddAssign for u16
impl AddAssign for u32
impl AddAssign for u64
impl AddAssign for u128
impl AddAssign for usize
impl AddAssign<&AffinePoint> for airbender_crypto::k256::ProjectivePoint
impl AddAssign<&BigInt> for BigInt
impl AddAssign<&BigUint> for BigUint
impl AddAssign<&Checked<Limb>> for Checked<Limb>
impl AddAssign<&ProjectivePoint> for airbender_crypto::k256::ProjectivePoint
impl AddAssign<&Saturating<i8>> for Saturating<i8>
impl AddAssign<&Saturating<i16>> for Saturating<i16>
impl AddAssign<&Saturating<i32>> for Saturating<i32>
impl AddAssign<&Saturating<i64>> for Saturating<i64>
impl AddAssign<&Saturating<i128>> for Saturating<i128>
impl AddAssign<&Saturating<isize>> for Saturating<isize>
impl AddAssign<&Saturating<u8>> for Saturating<u8>
impl AddAssign<&Saturating<u16>> for Saturating<u16>
impl AddAssign<&Saturating<u32>> for Saturating<u32>
impl AddAssign<&Saturating<u64>> for Saturating<u64>
impl AddAssign<&Saturating<u128>> for Saturating<u128>
impl AddAssign<&Saturating<usize>> for Saturating<usize>
impl AddAssign<&Scalar> for airbender_crypto::k256::Scalar
impl AddAssign<&Scalar> for airbender_crypto::p256::Scalar
impl AddAssign<&Scalar> for airbender_crypto::secp256k1::scalars::Scalar
impl AddAssign<&Wrapping<Limb>> for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>
impl AddAssign<&Wrapping<i8>> for core::num::wrapping::Wrapping<i8>
impl AddAssign<&Wrapping<i16>> for core::num::wrapping::Wrapping<i16>
impl AddAssign<&Wrapping<i32>> for core::num::wrapping::Wrapping<i32>
impl AddAssign<&Wrapping<i64>> for core::num::wrapping::Wrapping<i64>
impl AddAssign<&Wrapping<i128>> for core::num::wrapping::Wrapping<i128>
impl AddAssign<&Wrapping<isize>> for core::num::wrapping::Wrapping<isize>
impl AddAssign<&Wrapping<u8>> for core::num::wrapping::Wrapping<u8>
impl AddAssign<&Wrapping<u16>> for core::num::wrapping::Wrapping<u16>
impl AddAssign<&Wrapping<u32>> for core::num::wrapping::Wrapping<u32>
impl AddAssign<&Wrapping<u64>> for core::num::wrapping::Wrapping<u64>
impl AddAssign<&Wrapping<u128>> for core::num::wrapping::Wrapping<u128>
impl AddAssign<&Wrapping<usize>> for core::num::wrapping::Wrapping<usize>
impl AddAssign<&f16> for f16
impl AddAssign<&f32> for f32
impl AddAssign<&f64> for f64
impl AddAssign<&f128> for f128
impl AddAssign<&i8> for Saturating<i8>
impl AddAssign<&i8> for core::num::wrapping::Wrapping<i8>
impl AddAssign<&i8> for i8
impl AddAssign<&i16> for Saturating<i16>
impl AddAssign<&i16> for core::num::wrapping::Wrapping<i16>
impl AddAssign<&i16> for i16
impl AddAssign<&i32> for Saturating<i32>
impl AddAssign<&i32> for core::num::wrapping::Wrapping<i32>
impl AddAssign<&i32> for i32
impl AddAssign<&i64> for Saturating<i64>
impl AddAssign<&i64> for core::num::wrapping::Wrapping<i64>
impl AddAssign<&i64> for i64
impl AddAssign<&i128> for Saturating<i128>
impl AddAssign<&i128> for core::num::wrapping::Wrapping<i128>
impl AddAssign<&i128> for i128
impl AddAssign<&isize> for Saturating<isize>
impl AddAssign<&isize> for core::num::wrapping::Wrapping<isize>
impl AddAssign<&isize> for isize
impl AddAssign<&str> for String
Available on non-
no_global_oom_handling only.Implements the += operator for appending to a String.
This has the same behavior as the push_str method.
impl AddAssign<&u8> for Saturating<u8>
impl AddAssign<&u8> for core::num::wrapping::Wrapping<u8>
impl AddAssign<&u8> for u8
impl AddAssign<&u16> for Saturating<u16>
impl AddAssign<&u16> for core::num::wrapping::Wrapping<u16>
impl AddAssign<&u16> for u16
impl AddAssign<&u32> for Saturating<u32>
impl AddAssign<&u32> for core::num::wrapping::Wrapping<u32>
impl AddAssign<&u32> for u32
impl AddAssign<&u64> for Saturating<u64>
impl AddAssign<&u64> for core::num::wrapping::Wrapping<u64>
impl AddAssign<&u64> for u64
impl AddAssign<&u128> for Saturating<u128>
impl AddAssign<&u128> for core::num::wrapping::Wrapping<u128>
impl AddAssign<&u128> for u128
impl AddAssign<&usize> for Saturating<usize>
impl AddAssign<&usize> for core::num::wrapping::Wrapping<usize>
impl AddAssign<&usize> for usize
impl AddAssign<AffinePoint> for airbender_crypto::k256::ProjectivePoint
impl AddAssign<Duration> for Instant
impl AddAssign<Duration> for SystemTime
impl AddAssign<i8> for BigInt
impl AddAssign<i8> for Saturating<i8>
impl AddAssign<i8> for core::num::wrapping::Wrapping<i8>
impl AddAssign<i16> for BigInt
impl AddAssign<i16> for Saturating<i16>
impl AddAssign<i16> for core::num::wrapping::Wrapping<i16>
impl AddAssign<i32> for BigInt
impl AddAssign<i32> for Saturating<i32>
impl AddAssign<i32> for core::num::wrapping::Wrapping<i32>
impl AddAssign<i64> for BigInt
impl AddAssign<i64> for Saturating<i64>
impl AddAssign<i64> for core::num::wrapping::Wrapping<i64>
impl AddAssign<i128> for BigInt
impl AddAssign<i128> for Saturating<i128>
impl AddAssign<i128> for core::num::wrapping::Wrapping<i128>
impl AddAssign<isize> for BigInt
impl AddAssign<isize> for Saturating<isize>
impl AddAssign<isize> for core::num::wrapping::Wrapping<isize>
impl AddAssign<u8> for BigInt
impl AddAssign<u8> for BigUint
impl AddAssign<u8> for Saturating<u8>
impl AddAssign<u8> for core::num::wrapping::Wrapping<u8>
impl AddAssign<u16> for BigInt
impl AddAssign<u16> for BigUint
impl AddAssign<u16> for Saturating<u16>
impl AddAssign<u16> for core::num::wrapping::Wrapping<u16>
impl AddAssign<u32> for BigInt
impl AddAssign<u32> for BigUint
impl AddAssign<u32> for FieldElement
impl AddAssign<u32> for Saturating<u32>
impl AddAssign<u32> for core::num::wrapping::Wrapping<u32>
impl AddAssign<u64> for BigInt
impl AddAssign<u64> for BigUint
impl AddAssign<u64> for Saturating<u64>
impl AddAssign<u64> for core::num::wrapping::Wrapping<u64>
impl AddAssign<u128> for BigInt
impl AddAssign<u128> for BigUint
impl AddAssign<u128> for Saturating<u128>
impl AddAssign<u128> for core::num::wrapping::Wrapping<u128>
impl AddAssign<usize> for BigInt
impl AddAssign<usize> for BigUint
impl AddAssign<usize> for Saturating<usize>
impl AddAssign<usize> for core::num::wrapping::Wrapping<usize>
impl<'a, F, D> AddAssign<&'a Evaluations<F, D>> for Evaluations<F, D>where
F: FftField,
D: EvaluationDomain<F>,
impl<'a, F, T> AddAssign<&'a SparsePolynomial<F, T>> for SparsePolynomial<F, T>where
F: Field,
T: Term,
impl<'a, F, T> AddAssign<(F, &'a SparsePolynomial<F, T>)> for SparsePolynomial<F, T>where
F: Field,
T: Term,
impl<'a, F> AddAssign<&'a DenseMultilinearExtension<F>> for DenseMultilinearExtension<F>where
F: Field,
impl<'a, F> AddAssign<&'a DensePolynomial<F>> for DensePolynomial<F>where
F: Field,
impl<'a, F> AddAssign<&'a SparseMultilinearExtension<F>> for SparseMultilinearExtension<F>where
F: Field,
impl<'a, F> AddAssign<&'a SparsePolynomial<F>> for DensePolynomial<F>where
F: Field,
impl<'a, F> AddAssign<&'a SparsePolynomial<F>> for SparsePolynomial<F>where
F: Field,
impl<'a, F> AddAssign<(F, &'a DenseMultilinearExtension<F>)> for DenseMultilinearExtension<F>where
F: Field,
impl<'a, F> AddAssign<(F, &'a DensePolynomial<F>)> for DensePolynomial<F>where
F: Field,
impl<'a, F> AddAssign<(F, &'a SparseMultilinearExtension<F>)> for SparseMultilinearExtension<F>where
F: Field,
impl<'a, F> AddAssign<(F, &'a SparsePolynomial<F>)> for SparsePolynomial<F>where
F: Field,
impl<'a, P, const N: usize> AddAssign<&'a Fp<P, N>> for Fp<P, N>where
P: FpConfig<N>,
impl<'a, P, const N: usize> AddAssign<&'a mut Fp<P, N>> for Fp<P, N>where
P: FpConfig<N>,
impl<'a, P> AddAssign<&'a CubicExtField<P>> for CubicExtField<P>where
P: CubicExtConfig,
impl<'a, P> AddAssign<&'a PairingOutput<P>> for PairingOutput<P>where
P: Pairing,
impl<'a, P> AddAssign<&'a Projective<P>> for Projective<P>where
P: SWCurveConfig,
impl<'a, P> AddAssign<&'a Projective<P>> for Projective<P>where
P: TECurveConfig,
impl<'a, P> AddAssign<&'a QuadExtField<P>> for QuadExtField<P>where
P: QuadExtConfig,
impl<'a, P> AddAssign<&'a mut CubicExtField<P>> for CubicExtField<P>where
P: CubicExtConfig,
impl<'a, P> AddAssign<&'a mut PairingOutput<P>> for PairingOutput<P>where
P: Pairing,
impl<'a, P> AddAssign<&'a mut Projective<P>> for Projective<P>where
P: SWCurveConfig,
impl<'a, P> AddAssign<&'a mut Projective<P>> for Projective<P>where
P: TECurveConfig,
impl<'a, P> AddAssign<&'a mut QuadExtField<P>> for QuadExtField<P>where
P: QuadExtConfig,
impl<'a> AddAssign for Cow<'a, str>
Available on non-
no_global_oom_handling only.impl<'a> AddAssign<&'a str> for Cow<'a, str>
Available on non-
no_global_oom_handling only.