Skip to main content

DecafPoint

Struct DecafPoint 

Source
pub struct DecafPoint(pub(crate) ExtendedPoint);
Expand description

A Decaf point in the Twisted Edwards curve

Tuple Fields§

§0: ExtendedPoint

Implementations§

Source§

impl DecafPoint

Source

pub const GENERATOR: DecafPoint

The generator point

Source

pub const IDENTITY: DecafPoint

The identity point

Source

pub fn is_identity(&self) -> Choice

Check if the point is the identity

Source

pub fn add(&self, other: &DecafPoint) -> DecafPoint

Add two points

Source

pub fn sub(&self, other: &DecafPoint) -> DecafPoint

Subtract two points

Source

pub fn compress(&self) -> CompressedDecaf

Compress this point

Source

pub fn from_uniform_bytes(bytes: &[u8; 112]) -> Self

Construct a DecafPoint from 112 bytes of data.

If the input bytes are uniformly distributed, the resulting point will be uniformly distributed over the group, and its discrete log with respect to other points is unknown.

Implements map to curve according see https://datatracker.ietf.org/doc/rfc9380/ section 5.3.4 by splitting the input into two 56-byte halves, then applies the decaf448_map to each, and adds the results.

Source

pub fn random(rng: impl CryptoRng) -> Self

👎Deprecated since 0.14.0: use the Generate trait instead

DEPRECATED: Return a DecafPoint chosen uniformly at random using a user-provided RNG.

Use the Generate trait instead.

Trait Implementations§

Source§

impl Add<&AffinePoint> for &DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &DecafAffinePoint) -> Self::Output

Performs the + operation. Read more
Source§

impl<'b> Add<&'b AffinePoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'b DecafAffinePoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl Add<&DecafPoint> for &DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &DecafPoint) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&DecafPoint> for &DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, other: &DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl<'b> Add<&'b DecafPoint> for DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'b DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl<'b> Add<&'b DecafPoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'b DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl<'a> Add<AffinePoint> for &'a DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafAffinePoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl Add<AffinePoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafAffinePoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl<'a> Add<DecafPoint> for &'a DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl<'a> Add<DecafPoint> for &'a DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl Add<DecafPoint> for DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl Add for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the + operator.
Source§

fn add(self, rhs: DecafPoint) -> DecafPoint

Performs the + operation. Read more
Source§

impl AddAssign<&AffinePoint> for DecafPoint

Source§

fn add_assign(&mut self, other: &DecafAffinePoint)

Performs the += operation. Read more
Source§

impl AddAssign<&DecafPoint> for DecafAffinePoint

Source§

fn add_assign(&mut self, rhs: &DecafPoint)

Performs the += operation. Read more
Source§

impl AddAssign<&DecafPoint> for DecafPoint

Source§

fn add_assign(&mut self, other: &DecafPoint)

Performs the += operation. Read more
Source§

impl AddAssign<AffinePoint> for DecafPoint

Source§

fn add_assign(&mut self, rhs: DecafAffinePoint)

Performs the += operation. Read more
Source§

impl AddAssign<DecafPoint> for DecafAffinePoint

Source§

fn add_assign(&mut self, rhs: DecafPoint)

Performs the += operation. Read more
Source§

impl AddAssign for DecafPoint

Source§

fn add_assign(&mut self, other: DecafPoint)

Performs the += operation. Read more
Source§

impl Clone for DecafPoint

Source§

fn clone(&self) -> DecafPoint

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CofactorGroup for DecafPoint

Source§

type Subgroup = DecafPoint

The large prime-order subgroup in which cryptographic operations are performed. If Self implements PrimeGroup, then Self::Subgroup may be Self.
Source§

fn clear_cofactor(&self) -> Self::Subgroup

Maps self to the prime-order subgroup by multiplying this element by some k-multiple of the cofactor. Read more
Source§

fn into_subgroup(self) -> CtOption<Self::Subgroup>

Returns self if it is contained in the prime-order subgroup. Read more
Source§

fn is_torsion_free(&self) -> Choice

Determines if this element is “torsion free”, i.e., is contained in the prime-order subgroup. Read more
Source§

fn is_small_order(&self) -> Choice

Determines if this element is of small order. Read more
Source§

impl ConditionallySelectable for DecafPoint

Source§

fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self

Select a or b according to choice. Read more
Source§

fn conditional_assign(&mut self, other: &Self, choice: Choice)

Conditionally assign other to self, according to choice. Read more
Source§

fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)

Conditionally swap self and other if choice == 1; otherwise, reassign both unto themselves. Read more
Source§

impl ConstantTimeEq for DecafPoint

Source§

fn ct_eq(&self, other: &DecafPoint) -> Choice

Determine if two items are equal. Read more
Source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
Source§

impl CtEq for DecafPoint

Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if self is equal to other in constant-time.
Source§

fn ct_ne(&self, other: &Rhs) -> Choice

Determine if self is NOT equal to other in constant-time.
Source§

impl CtSelect for DecafPoint

Source§

fn ct_select(&self, other: &Self, choice: Choice) -> Self

Select between self and other based on choice, returning a copy of the value. Read more
Source§

fn ct_swap(&mut self, other: &mut Self, choice: Choice)

Conditionally swap self and other if choice is Choice::TRUE.
Source§

impl Curve for DecafPoint

Source§

type Affine = AffinePoint

The affine representation for this elliptic curve.
Source§

fn to_affine(&self) -> Self::Affine

Converts this element into its affine representation.
Source§

fn batch_normalize(p: &[Self], q: &mut [Self::Affine])

Converts a batch of projective elements into affine elements. This function will panic if p.len() != q.len().
Source§

impl Debug for DecafPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DecafPoint

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for DecafPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult

Formats the value using the given formatter. Read more
Source§

impl From<&AffinePoint> for DecafPoint

Source§

fn from(point: &DecafAffinePoint) -> Self

Converts to this type from the input type.
Source§

impl From<&DecafPoint> for [u8; 56]

Source§

fn from(compressed: &DecafPoint) -> [u8; 56]

Converts to this type from the input type.
Source§

impl From<&DecafPoint> for DecafAffinePoint

Source§

fn from(point: &DecafPoint) -> Self

Converts to this type from the input type.
Source§

impl From<&DecafPoint> for EdwardsPoint

Source§

fn from(point: &DecafPoint) -> Self

Converts to this type from the input type.
Source§

impl From<&DecafPoint> for Vec<u8>

Available on crate feature alloc only.
Source§

fn from(point: &DecafPoint) -> Vec<u8>

Converts to this type from the input type.
Source§

impl From<&EdwardsPoint> for DecafPoint

Source§

fn from(point: &EdwardsPoint) -> Self

Converts to this type from the input type.
Source§

impl From<AffinePoint> for DecafPoint

Source§

fn from(point: DecafAffinePoint) -> Self

Converts to this type from the input type.
Source§

impl From<DecafPoint> for [u8; 56]

Source§

fn from(point: DecafPoint) -> [u8; 56]

Converts to this type from the input type.
Source§

impl From<DecafPoint> for DecafAffinePoint

Source§

fn from(point: DecafPoint) -> Self

Converts to this type from the input type.
Source§

impl From<DecafPoint> for EdwardsPoint

Source§

fn from(point: DecafPoint) -> Self

Converts to this type from the input type.
Source§

impl From<DecafPoint> for Vec<u8>

Available on crate feature alloc only.
Source§

fn from(compressed: DecafPoint) -> Vec<u8>

Converts to this type from the input type.
Source§

impl From<EdwardsPoint> for DecafPoint

Source§

fn from(point: EdwardsPoint) -> Self

Converts to this type from the input type.
Source§

impl From<NonIdentity<DecafPoint>> for DecafPoint

Source§

fn from(decaf: NonIdentity<DecafPoint>) -> Self

Converts to this type from the input type.
Source§

impl Generate for DecafPoint

Source§

fn try_generate_from_rng<R: TryCryptoRng + ?Sized>( rng: &mut R, ) -> Result<Self, R::Error>

Generate random key using the provided TryCryptoRng. Read more
Source§

fn generate_from_rng<R>(rng: &mut R) -> Self
where R: CryptoRng + ?Sized,

Generate random key using the provided CryptoRng.
Source§

fn try_generate() -> Result<Self, Error>

Randomly generate a value of this type using the system’s ambient cryptographically secure random number generator. Read more
Source§

fn generate() -> Self

Randomly generate a value of this type using the system’s ambient cryptographically secure random number generator. Read more
Source§

impl Group for DecafPoint

Source§

type Scalar = Scalar<Decaf448>

Scalars modulo the order of this group’s scalar field.
Source§

fn try_random<R>(rng: &mut R) -> Result<Self, R::Error>
where R: TryRng + ?Sized,

Returns an element chosen uniformly at random from the non-identity elements of this group using a user-provided fallible RNG. Read more
Source§

fn identity() -> Self

Returns the additive identity, also known as the “neutral element”.
Source§

fn generator() -> Self

Returns a fixed generator of the prime-order subgroup.
Source§

fn is_identity(&self) -> Choice

Determines if this point is the identity.
Source§

fn double(&self) -> Self

Doubles this element.
Source§

fn random<R>(rng: &mut R) -> Self
where R: Rng + ?Sized,

Returns an element chosen uniformly at random from the non-identity elements of this group using a user-provided infallible RNG. Read more
Source§

fn mul_by_generator(scalar: &Self::Scalar) -> Self

Multiply by the generator of the prime-order subgroup.
Source§

impl GroupEncoding for DecafPoint

Source§

type Repr = Array<u8, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>>

The encoding of group elements. Read more
Source§

fn from_bytes(bytes: &Self::Repr) -> CtOption<Self>

Attempts to deserialize a group element from its encoding.
Source§

fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption<Self>

Attempts to deserialize a group element, not checking if the element is valid. Read more
Source§

fn to_bytes(&self) -> Self::Repr

Converts this element into its byte encoding. This may or may not support encoding the identity.
Source§

impl LinearCombination<[(DecafPoint, Scalar<Decaf448>)]> for DecafPoint

Source§

fn lincomb(points_and_scalars: &PointsAndScalars) -> Self

Calculates x1 * k1 + ... + xn * kn.
Source§

fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self

Calculates x1 * k1 + ... + xn * kn. Read more
Source§

impl<const N: usize> LinearCombination<[(DecafPoint, Scalar<Decaf448>); N]> for DecafPoint

Source§

fn lincomb(points_and_scalars: &PointsAndScalars) -> Self

Calculates x1 * k1 + ... + xn * kn.
Source§

fn lincomb_vartime(points_and_scalars: &PointsAndScalars) -> Self

Calculates x1 * k1 + ... + xn * kn. Read more
Source§

impl LowerHex for DecafPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult

Formats the value using the given formatter. Read more
Source§

impl Mul<&Scalar<Decaf448>> for &DecafPoint

Scalar Mul Operations

Source§

type Output = DecafPoint

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: &DecafScalar) -> DecafPoint

Performs the * operation. Read more
Source§

impl<'b> Mul<&'b Scalar<Decaf448>> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'b DecafScalar) -> DecafPoint

Performs the * operation. Read more
Source§

impl<'a> Mul<Scalar<Decaf448>> for &'a DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: DecafScalar) -> DecafPoint

Performs the * operation. Read more
Source§

impl Mul<Scalar<Decaf448>> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: DecafScalar) -> DecafPoint

Performs the * operation. Read more
Source§

impl<'s> MulAssign<&'s Scalar<Decaf448>> for DecafPoint

Source§

fn mul_assign(&mut self, scalar: &'s DecafScalar)

Performs the *= operation. Read more
Source§

impl MulAssign<Scalar<Decaf448>> for DecafPoint

Source§

fn mul_assign(&mut self, scalar: DecafScalar)

Performs the *= operation. Read more
Source§

impl MulByGeneratorVartime for DecafPoint

Source§

fn mul_by_generator_vartime(scalar: &Self::Scalar) -> Self

Multiply by the generator of the prime-order subgroup. Read more
Source§

fn mul_by_generator_and_mul_add_vartime( a: &Self::Scalar, b: &Self::Scalar, p: &Self, ) -> Self

Multiply a by the generator of the prime-order subgroup, adding the result to the point P multiplied by the scalar b, i.e. compute aG + bP. Read more
Source§

impl MulVartime<&Scalar<Decaf448>> for &DecafPoint

Source§

fn mul_vartime(self, scalar: &DecafScalar) -> DecafPoint

Multiply self by rhs in variable-time.
Source§

impl MulVartime<&Scalar<Decaf448>> for DecafPoint

Source§

fn mul_vartime(self, scalar: &DecafScalar) -> DecafPoint

Multiply self by rhs in variable-time.
Source§

impl MulVartime<Scalar<Decaf448>> for DecafPoint

Source§

fn mul_vartime(self, scalar: DecafScalar) -> DecafPoint

Multiply self by rhs in variable-time.
Source§

impl Neg for &DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn neg(self) -> DecafPoint

Performs the unary - operation. Read more
Source§

impl Neg for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn neg(self) -> DecafPoint

Performs the unary - operation. Read more
Source§

impl PartialEq for DecafPoint

Source§

fn eq(&self, other: &DecafPoint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Sub<&AffinePoint> for &DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &DecafAffinePoint) -> Self::Output

Performs the - operation. Read more
Source§

impl<'b> Sub<&'b AffinePoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'b DecafAffinePoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl Sub<&DecafPoint> for &DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &DecafPoint) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&DecafPoint> for &DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl<'b> Sub<&'b DecafPoint> for DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'b DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl<'b> Sub<&'b DecafPoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'b DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl<'a> Sub<AffinePoint> for &'a DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafAffinePoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl Sub<AffinePoint> for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafAffinePoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl<'a> Sub<DecafPoint> for &'a DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl<'a> Sub<DecafPoint> for &'a DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl Sub<DecafPoint> for DecafAffinePoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl Sub for DecafPoint

Source§

type Output = DecafPoint

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: DecafPoint) -> DecafPoint

Performs the - operation. Read more
Source§

impl SubAssign<&AffinePoint> for DecafPoint

Source§

fn sub_assign(&mut self, other: &DecafAffinePoint)

Performs the -= operation. Read more
Source§

impl SubAssign<&DecafPoint> for DecafAffinePoint

Source§

fn sub_assign(&mut self, rhs: &DecafPoint)

Performs the -= operation. Read more
Source§

impl SubAssign<&DecafPoint> for DecafPoint

Source§

fn sub_assign(&mut self, other: &DecafPoint)

Performs the -= operation. Read more
Source§

impl SubAssign<AffinePoint> for DecafPoint

Source§

fn sub_assign(&mut self, rhs: DecafAffinePoint)

Performs the -= operation. Read more
Source§

impl SubAssign<DecafPoint> for DecafAffinePoint

Source§

fn sub_assign(&mut self, rhs: DecafPoint)

Performs the -= operation. Read more
Source§

impl SubAssign for DecafPoint

Source§

fn sub_assign(&mut self, other: DecafPoint)

Performs the -= operation. Read more
Source§

impl<T> Sum<T> for DecafPoint
where T: Borrow<DecafPoint>,

Source§

fn sum<I>(iter: I) -> Self
where I: Iterator<Item = T>,

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl TryFrom<&[u8]> for DecafPoint

Available on crate feature alloc only.
Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: &[u8]) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&[u8; 56]> for DecafPoint

Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: &[u8; 56]) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Vec<u8>> for DecafPoint

Available on crate feature alloc only.
Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: &Vec<u8>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<[u8; 56]> for DecafPoint

Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: [u8; 56]) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Box<[u8]>> for DecafPoint

Available on crate feature alloc only.
Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: Box<[u8]>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<DecafPoint> for NonIdentity<DecafPoint>

The constant-time alternative is available at NonIdentity::new().

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(point: DecafPoint) -> Result<Self, Error>

Performs the conversion.
Source§

impl TryFrom<Vec<u8>> for DecafPoint

Available on crate feature alloc only.
Source§

type Error = &'static str

The type returned in the event of a conversion error.
Source§

fn try_from(bytes: Vec<u8>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl UpperHex for DecafPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult

Formats the value using the given formatter. Read more
Source§

impl Copy for DecafPoint

Source§

impl DefaultIsZeroes for DecafPoint

Source§

impl Eq for DecafPoint

Source§

impl PrimeGroup for DecafPoint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ConditionallyNegatable for T
where T: ConditionallySelectable, &'a T: for<'a> Neg<Output = T>,

Source§

fn conditional_negate(&mut self, choice: Choice)

Negate self if choice == Choice(1); otherwise, leave it unchanged. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<Z> Zeroize for Z
where Z: DefaultIsZeroes,

Source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.
Source§

impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
where T: Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>,

Source§

impl<T, Rhs, Output> GroupOpsOwned<Rhs, Output> for T
where T: for<'r> GroupOps<&'r Rhs, Output>,

Source§

impl<T, Rhs, Output> ScalarMul<Rhs, Output> for T
where T: Mul<Rhs, Output = Output> + MulAssign<Rhs>,

Source§

impl<T, Rhs, Output> ScalarMulOwned<Rhs, Output> for T
where T: for<'r> ScalarMul<&'r Rhs, Output>,