Struct xcm_builder::test_utils::Weight
pub struct Weight { /* private fields */ }Implementations§
§impl Weight
impl Weight
pub const fn set_ref_time(self, c: u64) -> Weight
pub const fn set_ref_time(self, c: u64) -> Weight
Set the reference time part of the weight.
pub const fn set_proof_size(self, c: u64) -> Weight
pub const fn set_proof_size(self, c: u64) -> Weight
Set the storage size part of the weight.
pub const fn proof_size(&self) -> u64
pub const fn proof_size(&self) -> u64
Return the storage size part of the weight.
pub fn ref_time_mut(&mut self) -> &mut u64
pub fn ref_time_mut(&mut self) -> &mut u64
Return a mutable reference to the reference time part of the weight.
pub fn proof_size_mut(&mut self) -> &mut u64
pub fn proof_size_mut(&mut self) -> &mut u64
Return a mutable reference to the storage size part of the weight.
pub const MAX: Weight = Self{ ref_time: u64::MAX, proof_size: u64::MAX,}
pub const MAX: Weight = Self{ ref_time: u64::MAX, proof_size: u64::MAX,}
The maximal weight in all dimensions.
pub fn try_add(&self, other: &Weight, limit: &Weight) -> Option<Weight>
pub fn try_add(&self, other: &Weight, limit: &Weight) -> Option<Weight>
Try to add some other weight while upholding the limit.
pub const fn from_parts(ref_time: u64, proof_size: u64) -> Weight
pub const fn from_parts(ref_time: u64, proof_size: u64) -> Weight
Construct Weight from weight parts, namely reference time and proof size weights.
pub const fn saturating_add(self, rhs: Weight) -> Weight
pub const fn saturating_add(self, rhs: Weight) -> Weight
Saturating Weight addition. Computes self + rhs, saturating at the numeric bounds of
all fields instead of overflowing.
pub const fn saturating_sub(self, rhs: Weight) -> Weight
pub const fn saturating_sub(self, rhs: Weight) -> Weight
Saturating Weight subtraction. Computes self - rhs, saturating at the numeric bounds
of all fields instead of overflowing.
pub const fn saturating_mul(self, scalar: u64) -> Weight
pub const fn saturating_mul(self, scalar: u64) -> Weight
Saturating Weight scalar multiplication. Computes self.field * scalar for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
pub const fn saturating_div(self, scalar: u64) -> Weight
pub const fn saturating_div(self, scalar: u64) -> Weight
Saturating Weight scalar division. Computes self.field / scalar for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
pub const fn saturating_pow(self, exp: u32) -> Weight
pub const fn saturating_pow(self, exp: u32) -> Weight
Saturating Weight scalar exponentiation. Computes self.field.pow(exp) for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
pub fn saturating_accrue(&mut self, amount: Weight)
pub fn saturating_accrue(&mut self, amount: Weight)
Increment Weight by amount via saturating addition.
pub fn saturating_reduce(&mut self, amount: Weight)
pub fn saturating_reduce(&mut self, amount: Weight)
Reduce Weight by amount via saturating subtraction.
pub const fn checked_add(&self, rhs: &Weight) -> Option<Weight>
pub const fn checked_add(&self, rhs: &Weight) -> Option<Weight>
Checked Weight addition. Computes self + rhs, returning None if overflow occurred.
pub const fn checked_sub(&self, rhs: &Weight) -> Option<Weight>
pub const fn checked_sub(&self, rhs: &Weight) -> Option<Weight>
Checked Weight subtraction. Computes self - rhs, returning None if overflow
occurred.
pub const fn checked_mul(self, scalar: u64) -> Option<Weight>
pub const fn checked_mul(self, scalar: u64) -> Option<Weight>
Checked Weight scalar multiplication. Computes self.field * scalar for each field,
returning None if overflow occurred.
pub const fn checked_div(self, scalar: u64) -> Option<Weight>
pub const fn checked_div(self, scalar: u64) -> Option<Weight>
Checked Weight scalar division. Computes self.field / scalar for each field, returning
None if overflow occurred.
pub const fn checked_div_per_component(self, other: &Weight) -> Option<u64>
pub const fn checked_div_per_component(self, other: &Weight) -> Option<u64>
Calculates how many other fit into self.
Divides each component of self against the same component of other. Returns the minimum
of all those divisions. Returns None in case all components of other are zero.
This returns Some even if some components of other are zero as long as there is at least
one non-zero component in other. The division for this particular component will then
yield the maximum value (e.g u64::MAX). This is because we assume not every operation and
hence each Weight will necessarily use each resource.
pub fn checked_accrue(&mut self, amount: Weight) -> Option<()>
pub fn checked_accrue(&mut self, amount: Weight) -> Option<()>
Try to increase self by amount via checked addition.
pub fn checked_reduce(&mut self, amount: Weight) -> Option<()>
pub fn checked_reduce(&mut self, amount: Weight) -> Option<()>
Try to reduce self by amount via checked subtraction.
pub const fn add_ref_time(self, scalar: u64) -> Weight
pub const fn add_ref_time(self, scalar: u64) -> Weight
Constant version of Add for ref_time component with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn add_proof_size(self, scalar: u64) -> Weight
pub const fn add_proof_size(self, scalar: u64) -> Weight
Constant version of Add for proof_size component with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn sub_ref_time(self, scalar: u64) -> Weight
pub const fn sub_ref_time(self, scalar: u64) -> Weight
Constant version of Sub for ref_time component with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn sub_proof_size(self, scalar: u64) -> Weight
pub const fn sub_proof_size(self, scalar: u64) -> Weight
Constant version of Sub for proof_size component with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn div(self, scalar: u64) -> Weight
pub const fn div(self, scalar: u64) -> Weight
Constant version of Div with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn mul(self, scalar: u64) -> Weight
pub const fn mul(self, scalar: u64) -> Weight
Constant version of Mul with u64.
Is only overflow safe when evaluated at compile-time.
pub const fn any_gt(self, other: Weight) -> bool
pub const fn any_gt(self, other: Weight) -> bool
Returns true if any of self’s constituent weights is strictly greater than that of the
other’s, otherwise returns false.
pub const fn all_gt(self, other: Weight) -> bool
pub const fn all_gt(self, other: Weight) -> bool
Returns true if all of self’s constituent weights is strictly greater than that of the
other’s, otherwise returns false.
pub const fn any_lt(self, other: Weight) -> bool
pub const fn any_lt(self, other: Weight) -> bool
Returns true if any of self’s constituent weights is strictly less than that of the
other’s, otherwise returns false.
pub const fn all_lt(self, other: Weight) -> bool
pub const fn all_lt(self, other: Weight) -> bool
Returns true if all of self’s constituent weights is strictly less than that of the
other’s, otherwise returns false.
pub const fn any_gte(self, other: Weight) -> bool
pub const fn any_gte(self, other: Weight) -> bool
Returns true if any of self’s constituent weights is greater than or equal to that of the
other’s, otherwise returns false.
pub const fn all_gte(self, other: Weight) -> bool
pub const fn all_gte(self, other: Weight) -> bool
Returns true if all of self’s constituent weights is greater than or equal to that of the
other’s, otherwise returns false.
pub const fn any_lte(self, other: Weight) -> bool
pub const fn any_lte(self, other: Weight) -> bool
Returns true if any of self’s constituent weights is less than or equal to that of the
other’s, otherwise returns false.
Trait Implementations§
§impl AddAssign<Weight> for Weight
impl AddAssign<Weight> for Weight
§fn add_assign(&mut self, other: Weight)
fn add_assign(&mut self, other: Weight)
+= operation. Read more§impl CheckedAdd for Weight
impl CheckedAdd for Weight
§fn checked_add(&self, rhs: &Weight) -> Option<Weight>
fn checked_add(&self, rhs: &Weight) -> Option<Weight>
None is
returned.§impl CheckedSub for Weight
impl CheckedSub for Weight
§fn checked_sub(&self, rhs: &Weight) -> Option<Weight>
fn checked_sub(&self, rhs: &Weight) -> Option<Weight>
None is returned.§impl<T> ClassifyDispatch<T> for Weight
impl<T> ClassifyDispatch<T> for Weight
§fn classify_dispatch(&self, _: T) -> DispatchClass
fn classify_dispatch(&self, _: T) -> DispatchClass
target of type T. When implementing
this for a dispatchable, T will be a tuple of all arguments given to the function (except
origin).§impl Decode for Weight
impl Decode for Weight
§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Weight, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Weight, Error>where __CodecInputEdqy: Input,
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
§impl<'de> Deserialize<'de> for Weight
impl<'de> Deserialize<'de> for Weight
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Weight, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Weight, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
§impl Encode for Weight
impl Encode for Weight
§fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )where __CodecOutputEdqy: Output + ?Sized,
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
§impl MaxEncodedLen for Weight
impl MaxEncodedLen for Weight
§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
§impl Serialize for Weight
impl Serialize for Weight
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
§impl SubAssign<Weight> for Weight
impl SubAssign<Weight> for Weight
§fn sub_assign(&mut self, other: Weight)
fn sub_assign(&mut self, other: Weight)
-= operation. Read more§impl<T> WeighData<T> for Weight
impl<T> WeighData<T> for Weight
§fn weigh_data(&self, _: T) -> Weight
fn weigh_data(&self, _: T) -> Weight
T given by target. When implementing this for a dispatchable, T will be
a tuple of all arguments given to the function (except origin).impl Copy for Weight
impl EncodeLike<Weight> for Weight
impl Eq for Weight
impl StructuralEq for Weight
impl StructuralPartialEq for Weight
Auto Trait Implementations§
impl RefUnwindSafe for Weight
impl Send for Weight
impl Sync for Weight
impl Unpin for Weight
impl UnwindSafe for Weight
Blanket Implementations§
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere T: Codec,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere T: Bounded,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_mut() into the pipe
function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T. Read more§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.§impl<T, S> UniqueSaturatedFrom<T> for Swhere
S: TryFrom<T> + Bounded,
impl<T, S> UniqueSaturatedFrom<T> for Swhere S: TryFrom<T> + Bounded,
§fn unique_saturated_from(t: T) -> S
fn unique_saturated_from(t: T) -> S
T into an equivalent instance of Self.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.