Struct prio::field::Field128

source ·
pub struct Field128(/* private fields */);
Expand description

GF(340282366920938462946865773367900766209), a 128-bit field.

This structure represents a field element in a prime order field. The concrete representation of the element is via the Montgomery domain. For an element n in GF(p), we store n * R^-1 mod p (where R is a given power of two). This representation enables using a more efficient (and branchless) multiplication algorithm, at the expense of having to convert elements between their Montgomery domain representation and natural representation. For calculations with many multiplications or exponentiations, this is worthwhile.

As an invariant, this integer representing the field element in the Montgomery domain must be less than the field modulus, p.

Trait Implementations§

source§

impl Add for &Field128

§

type Output = Field128

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Field128

Performs the + operation. Read more
source§

impl Add for Field128

§

type Output = Field128

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl AddAssign for Field128

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl Clone for Field128

source§

fn clone(&self) -> Field128

Returns a copy 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 ConditionallySelectable for Field128

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 Field128

source§

fn ct_eq(&self, rhs: &Self) -> 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 Debug for Field128

source§

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

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

impl Decode for Field128

source§

fn decode(bytes: &mut Cursor<&[u8]>) -> Result<Self, CodecError>

Read and decode an encoded object from bytes. On success, the decoded value is returned and bytes is advanced by the encoded size of the value. On failure, an error is returned and no further attempt to read from bytes should be made.
source§

fn get_decoded(bytes: &[u8]) -> Result<Self, CodecError>

Convenience method to get a decoded value. Returns an error if Self::decode fails, or if there are any bytes left in bytes after decoding a value.
source§

impl Default for Field128

source§

fn default() -> Field128

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

impl<'de> Deserialize<'de> for Field128

source§

fn deserialize<D: Deserializer<'de>>( deserializer: D ) -> Result<Field128, D::Error>

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for Field128

source§

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

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

impl Distribution<Field128> for Standard

source§

fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Field128

Generate a random value of T, using rng as the source of randomness.
source§

fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
where R: Rng, Self: Sized,

Create an iterator that generates random values of T, using rng as the source of randomness. Read more
source§

fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Create a distribution of values of ‘S’ by mapping the output of Self through the closure F Read more
source§

impl Div for &Field128

§

type Output = Field128

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Field128

Performs the / operation. Read more
source§

impl Div for Field128

§

type Output = Field128

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Self

Performs the / operation. Read more
source§

impl DivAssign for Field128

source§

fn div_assign(&mut self, rhs: Self)

Performs the /= operation. Read more
source§

impl Encode for Field128

source§

fn encode(&self, bytes: &mut Vec<u8>) -> Result<(), CodecError>

Append the encoded form of this object to the end of bytes, growing the vector as needed.
source§

fn encoded_len(&self) -> Option<usize>

Returns an optional hint indicating how many bytes will be required to encode this value, or None by default.
source§

fn get_encoded(&self) -> Result<Vec<u8>, CodecError>

Convenience method to encode a value into a new Vec<u8>.
source§

impl FftFriendlyFieldElement for Field128

source§

fn generator() -> Self

Returns the generator of the multiplicative subgroup of size FftFriendlyFieldElement::generator_order.
source§

fn generator_order() -> Self::Integer

Returns the size of the multiplicative subgroup generated by FftFriendlyFieldElement::generator.
source§

fn root(l: usize) -> Option<Self>

Returns the 2^l-th principal root of unity for any l <= 20. Note that the 2^0-th prinicpal root of unity is 1 by definition.
source§

impl FieldElement for Field128

source§

const ENCODED_SIZE: usize = 16usize

Size in bytes of an encoded field element.
source§

fn inv(&self) -> Self

Modular inversion, i.e., self^-1 (mod p). If self is 0, then the output is undefined.
source§

fn zero() -> Self

Returns the additive identity.
source§

fn one() -> Self

Returns the multiplicative identity.
source§

fn slice_into_byte_vec(values: &[Self]) -> Vec<u8>

👎Deprecated
Convert a slice of field elements into a vector of bytes. Read more
source§

fn byte_slice_into_vec(bytes: &[u8]) -> Result<Vec<Self>, FieldError>

👎Deprecated
Convert a slice of bytes into a vector of field elements. The slice is interpreted as a sequence of Self::ENCODED_SIZE-byte sequences. Read more
source§

impl FieldElementWithInteger for Field128

§

type Integer = u128

The integer representation of a field element.
source§

fn pow(&self, exp: Self::Integer) -> Self

Modular exponentation, i.e., self^exp (mod p).
source§

fn modulus() -> Self::Integer

Returns the prime modulus p.
source§

fn encode_as_bitvector( input: Self::Integer, bits: usize ) -> Result<BitvectorRepresentationIter<Self>, FieldError>

Encode the integer input as a sequence of bits in two’s complement representation, least significant bit first, and then map each bit to a field element. Read more
source§

fn decode_bitvector(input: &[Self]) -> Result<Self, FieldError>

Inverts the encoding done by Self::encode_as_bitvector, and returns a single field element. Read more
source§

impl From<Field128> for [u8; 16]

source§

fn from(elem: Field128) -> Self

Converts to this type from the input type.
source§

impl From<Field128> for Vec<u8>

source§

fn from(elem: Field128) -> Self

Converts to this type from the input type.
source§

impl From<Field128> for u128

source§

fn from(x: Field128) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Field128

source§

fn from(x: u128) -> Self

Converts to this type from the input type.
source§

impl Hash for Field128

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Mul for &Field128

§

type Output = Field128

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Field128

Performs the * operation. Read more
source§

impl Mul for Field128

§

type Output = Field128

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl MulAssign for Field128

source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
source§

impl Neg for &Field128

§

type Output = Field128

The resulting type after applying the - operator.
source§

fn neg(self) -> Field128

Performs the unary - operation. Read more
source§

impl Neg for Field128

§

type Output = Field128

The resulting type after applying the - operator.
source§

fn neg(self) -> Self

Performs the unary - operation. Read more
source§

impl PartialEq<u128> for Field128

source§

fn eq(&self, rhs: &u128) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for Field128

source§

fn eq(&self, rhs: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Field128

source§

fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more
source§

impl Sub for &Field128

§

type Output = Field128

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Field128

Performs the - operation. Read more
source§

impl Sub for Field128

§

type Output = Field128

The resulting type after applying the - operator.
source§

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

Performs the - operation. Read more
source§

impl SubAssign for Field128

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl<'a> TryFrom<&'a [u8]> for Field128

§

type Error = FieldError

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

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

Performs the conversion.
source§

impl Copy for Field128

source§

impl Eq for Field128

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> Az for T

source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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> Conv for T

source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<F> IdpfValue for F
where F: FieldElement,

§

type ValueParameter = ()

Available on crate features crypto-dependencies and experimental only.
Any run-time parameters needed to produce a value.
source§

fn generate<S>(seed_stream: &mut S, _: &()) -> F
where S: RngCore,

Available on crate features crypto-dependencies and experimental only.
Generate a pseudorandom value from a seed stream.
source§

fn zero(_: &()) -> F

Available on crate features crypto-dependencies and experimental only.
Returns the additive identity.
source§

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

Available on crate features crypto-dependencies and experimental only.
Conditionally select between two values. Implementations must perform this operation in constant time. Read more
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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

source§

fn lossy_into(self) -> Dst

Performs the conversion.
source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<D, T> ParameterizedDecode<T> for D
where D: Decode + ?Sized,

source§

fn decode_with_param( _decoding_parameter: &T, bytes: &mut Cursor<&[u8]> ) -> Result<D, CodecError>

Read and decode an encoded object from bytes. decoding_parameter provides details of the wire encoding such as lengths of different portions of the message. On success, the decoded value is returned and bytes is advanced by the encoded size of the value. On failure, an error is returned and no further attempt to read from bytes should be made.
source§

fn get_decoded_with_param( decoding_parameter: &P, bytes: &[u8] ) -> Result<Self, CodecError>

Convenience method to get a decoded value. Returns an error if Self::decode_with_param fails, or if there are any bytes left in bytes after decoding a value.
source§

impl<E, T> ParameterizedEncode<T> for E
where E: Encode + ?Sized,

source§

fn encode_with_param( &self, _encoding_parameter: &T, bytes: &mut Vec<u8> ) -> Result<(), CodecError>

Append the encoded form of this object to the end of bytes, growing the vector as needed. encoding_parameter provides details of the wire encoding, used to control how the value is encoded.
source§

fn encoded_len_with_param(&self, _encoding_parameter: &T) -> Option<usize>

Returns an optional hint indicating how many bytes will be required to encode this value, or None by default.
source§

fn get_encoded_with_param( &self, encoding_parameter: &P ) -> Result<Vec<u8>, CodecError>

Convenience method to encode a value into a new Vec<u8>.
source§

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

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

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

§

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§

default fn to_string(&self) -> String

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

impl<T> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

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

§

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>,

§

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<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,