Primitive Typeusize
Expand description
The pointer-sized unsigned integer type.
The size of this primitive is how many bytes it takes to reference anylocation in memory. For example, on a 32 bit target, this is 4 bytesand on a 64 bit target, this is 8 bytes.
Implementations§
Source§implusize
implusize
1.43.0 ·Sourcepub constMAX:usize
Available on64-bit only.
pub constMAX:usize
The largest value that can be represented by this integer type(264 − 1 on 64-bit targets).
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fncount_ones(self) ->u32
Available on64-bit only.
pub const fncount_ones(self) ->u32
Returns the number of ones in the binary representation ofself.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fncount_zeros(self) ->u32
Available on64-bit only.
pub const fncount_zeros(self) ->u32
Returns the number of zeros in the binary representation ofself.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnleading_zeros(self) ->u32
Available on64-bit only.
pub const fnleading_zeros(self) ->u32
1.0.0 (const: 1.32.0) ·Sourcepub const fntrailing_zeros(self) ->u32
Available on64-bit only.
pub const fntrailing_zeros(self) ->u32
Returns the number of trailing zeros in the binary representationofself.
§Examples
1.46.0 (const: 1.46.0) ·Sourcepub const fnleading_ones(self) ->u32
Available on64-bit only.
pub const fnleading_ones(self) ->u32
Returns the number of leading ones in the binary representation ofself.
§Examples
1.46.0 (const: 1.46.0) ·Sourcepub const fntrailing_ones(self) ->u32
Available on64-bit only.
pub const fntrailing_ones(self) ->u32
Returns the number of trailing ones in the binary representationofself.
§Examples
Sourcepub const fnbit_width(self) ->u32
🔬This is a nightly-only experimental API. (uint_bit_width #142326)Available on64-bit only.
pub const fnbit_width(self) ->u32
uint_bit_width #142326)Returns the minimum number of bits required to representself.
This method returns zero ifself is zero.
§Examples
Sourcepub const fnisolate_highest_one(self) ->usize
🔬This is a nightly-only experimental API. (isolate_most_least_significant_one #136909)Available on64-bit only.
pub const fnisolate_highest_one(self) ->usize
isolate_most_least_significant_one #136909)Returnsself with only the most significant bit set, or0 ifthe input is0.
§Examples
Sourcepub const fnisolate_lowest_one(self) ->usize
🔬This is a nightly-only experimental API. (isolate_most_least_significant_one #136909)Available on64-bit only.
pub const fnisolate_lowest_one(self) ->usize
isolate_most_least_significant_one #136909)Returnsself with only the least significant bit set, or0 ifthe input is0.
§Examples
Sourcepub const fnhighest_one(self) ->Option<u32>
🔬This is a nightly-only experimental API. (int_lowest_highest_one #145203)Available on64-bit only.
pub const fnhighest_one(self) ->Option<u32>
int_lowest_highest_one #145203)Returns the index of the highest bit set to one inself, orNoneifself is0.
§Examples
Sourcepub const fnlowest_one(self) ->Option<u32>
🔬This is a nightly-only experimental API. (int_lowest_highest_one #145203)Available on64-bit only.
pub const fnlowest_one(self) ->Option<u32>
int_lowest_highest_one #145203)Returns the index of the lowest bit set to one inself, orNoneifself is0.
§Examples
1.87.0 (const: 1.87.0) ·Sourcepub const fncast_signed(self) ->isize
Available on64-bit only.
pub const fncast_signed(self) ->isize
Returns the bit pattern ofself reinterpreted as a signed integer of the same size.
This produces the same result as anas cast, but ensures that the bit-width remainsthe same.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnrotate_left(self, n:u32) ->usize
Available on64-bit only.
pub const fnrotate_left(self, n:u32) ->usize
Shifts the bits to the left by a specified amount,n,wrapping the truncated bits to the end of the resulting integer.
rotate_left(n) is equivalent to applyingrotate_left(1) a total ofn times. Inparticular, a rotation by the number of bits inself returns the input valueunchanged.
Please note this isn’t the same operation as the<< shifting operator!
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnrotate_right(self, n:u32) ->usize
Available on64-bit only.
pub const fnrotate_right(self, n:u32) ->usize
Shifts the bits to the right by a specified amount,n,wrapping the truncated bits to the beginning of the resultinginteger.
rotate_right(n) is equivalent to applyingrotate_right(1) a total ofn times. Inparticular, a rotation by the number of bits inself returns the input valueunchanged.
Please note this isn’t the same operation as the>> shifting operator!
§Examples
Sourcepub const fnfunnel_shl(self, rhs:usize, n:u32) ->usize
🔬This is a nightly-only experimental API. (funnel_shifts #145686)Available on64-bit only.
pub const fnfunnel_shl(self, rhs:usize, n:u32) ->usize
funnel_shifts #145686)Performs a left funnel shift (concatenatesself withrhs, withselfmaking up the most significant half, then shifts the combined value leftbyn, and most significant half is extracted to produce the result).
Please note this isn’t the same operation as the<< shifting operator orrotate_left, althougha.funnel_shl(a, n) isequivalenttoa.rotate_left(n).
§Panics
Ifn is greater than or equal to the number of bits inself
§Examples
Basic usage:
Sourcepub const fnfunnel_shr(self, rhs:usize, n:u32) ->usize
🔬This is a nightly-only experimental API. (funnel_shifts #145686)Available on64-bit only.
pub const fnfunnel_shr(self, rhs:usize, n:u32) ->usize
funnel_shifts #145686)Performs a right funnel shift (concatenatesself andrhs, withselfmaking up the most significant half, then shifts the combined value rightbyn, and least significant half is extracted to produce the result).
Please note this isn’t the same operation as the>> shifting operator orrotate_right, althougha.funnel_shr(a, n) isequivalenttoa.rotate_right(n).
§Panics
Ifn is greater than or equal to the number of bits inself
§Examples
Basic usage:
1.0.0 (const: 1.32.0) ·Sourcepub const fnswap_bytes(self) ->usize
Available on64-bit only.
pub const fnswap_bytes(self) ->usize
Reverses the byte order of the integer.
§Examples
Sourcepub const fngather_bits(self, mask:usize) ->usize
🔬This is a nightly-only experimental API. (uint_gather_scatter_bits #149069)Available on64-bit only.
pub const fngather_bits(self, mask:usize) ->usize
uint_gather_scatter_bits #149069)Sourcepub const fnscatter_bits(self, mask:usize) ->usize
🔬This is a nightly-only experimental API. (uint_gather_scatter_bits #149069)Available on64-bit only.
pub const fnscatter_bits(self, mask:usize) ->usize
uint_gather_scatter_bits #149069)1.37.0 (const: 1.37.0) ·Sourcepub const fnreverse_bits(self) ->usize
Available on64-bit only.
pub const fnreverse_bits(self) ->usize
Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,second least-significant bit becomes second most-significant bit, etc.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnfrom_be(x:usize) ->usize
Available on64-bit only.
pub const fnfrom_be(x:usize) ->usize
Converts an integer from big endian to the target’s endianness.
On big endian this is a no-op. On little endian the bytes areswapped.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnfrom_le(x:usize) ->usize
Available on64-bit only.
pub const fnfrom_le(x:usize) ->usize
Converts an integer from little endian to the target’s endianness.
On little endian this is a no-op. On big endian the bytes areswapped.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnto_be(self) ->usize
Available on64-bit only.
pub const fnto_be(self) ->usize
Convertsself to big endian from the target’s endianness.
On big endian this is a no-op. On little endian the bytes areswapped.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnto_le(self) ->usize
Available on64-bit only.
pub const fnto_le(self) ->usize
Convertsself to little endian from the target’s endianness.
On little endian this is a no-op. On big endian the bytes areswapped.
§Examples
1.0.0 (const: 1.47.0) ·Sourcepub const fnchecked_add(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_add(self, rhs:usize) ->Option<usize>
Checked integer addition. Computesself + rhs, returningNoneif overflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_add(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_add(self, rhs:usize) ->usize
1.79.0 (const: 1.79.0) ·Sourcepub const unsafe fnunchecked_add(self, rhs:usize) ->usize
Available on64-bit only.
pub const unsafe fnunchecked_add(self, rhs:usize) ->usize
Unchecked integer addition. Computesself + rhs, assuming overflowcannot occur.
Callingx.unchecked_add(y) is semantically equivalent to callingx.checked_add(y).unwrap_unchecked().
If you’re just trying to avoid the panic in debug mode, thendo notuse this. Instead, you’re looking forwrapping_add.
§Safety
This results in undefined behavior whenself + rhs > usize::MAX orself + rhs < usize::MIN,i.e. whenchecked_add would returnNone.
1.66.0 (const: 1.66.0) ·Sourcepub const fnchecked_add_signed(self, rhs:isize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_add_signed(self, rhs:isize) ->Option<usize>
Checked addition with a signed integer. Computesself + rhs,returningNone if overflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_add_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnstrict_add_signed(self, rhs:isize) ->usize
1.0.0 (const: 1.47.0) ·Sourcepub const fnchecked_sub(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_sub(self, rhs:usize) ->Option<usize>
Checked integer subtraction. Computesself - rhs, returningNone if overflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_sub(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_sub(self, rhs:usize) ->usize
1.79.0 (const: 1.79.0) ·Sourcepub const unsafe fnunchecked_sub(self, rhs:usize) ->usize
Available on64-bit only.
pub const unsafe fnunchecked_sub(self, rhs:usize) ->usize
Unchecked integer subtraction. Computesself - rhs, assuming overflowcannot occur.
Callingx.unchecked_sub(y) is semantically equivalent to callingx.checked_sub(y).unwrap_unchecked().
If you’re just trying to avoid the panic in debug mode, thendo notuse this. Instead, you’re looking forwrapping_sub.
If you find yourself writing code like this:
iffoo >= bar {// SAFETY: just checked it will not overflowletdiff =unsafe{ foo.unchecked_sub(bar) };// ... use diff ...}Consider changing it to
As that does exactly the same thing – including telling the optimizerthat the subtraction cannot overflow – but avoids needingunsafe.
§Safety
This results in undefined behavior whenself - rhs > usize::MAX orself - rhs < usize::MIN,i.e. whenchecked_sub would returnNone.
1.90.0 (const: 1.90.0) ·Sourcepub const fnchecked_sub_signed(self, rhs:isize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_sub_signed(self, rhs:isize) ->Option<usize>
Checked subtraction with a signed integer. Computesself - rhs,returningNone if overflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_sub_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnstrict_sub_signed(self, rhs:isize) ->usize
1.91.0 (const: 1.91.0) ·Sourcepub const fnchecked_signed_diff(self, rhs:usize) ->Option<isize>
Available on64-bit only.
pub const fnchecked_signed_diff(self, rhs:usize) ->Option<isize>
Checked integer subtraction. Computesself - rhs and checks if the result fits into anisize, returningNone if overflow occurred.
§Examples
assert_eq!(10usize.checked_signed_diff(2),Some(8));assert_eq!(2usize.checked_signed_diff(10),Some(-8));assert_eq!(usize::MAX.checked_signed_diff(isize::MAXasusize),None);assert_eq!((isize::MAXasusize).checked_signed_diff(usize::MAX),Some(isize::MIN));assert_eq!((isize::MAXasusize +1).checked_signed_diff(0),None);assert_eq!(usize::MAX.checked_signed_diff(usize::MAX),Some(0));1.0.0 (const: 1.47.0) ·Sourcepub const fnchecked_mul(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_mul(self, rhs:usize) ->Option<usize>
Checked integer multiplication. Computesself * rhs, returningNone if overflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_mul(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_mul(self, rhs:usize) ->usize
1.79.0 (const: 1.79.0) ·Sourcepub const unsafe fnunchecked_mul(self, rhs:usize) ->usize
Available on64-bit only.
pub const unsafe fnunchecked_mul(self, rhs:usize) ->usize
Unchecked integer multiplication. Computesself * rhs, assuming overflowcannot occur.
Callingx.unchecked_mul(y) is semantically equivalent to callingx.checked_mul(y).unwrap_unchecked().
If you’re just trying to avoid the panic in debug mode, thendo notuse this. Instead, you’re looking forwrapping_mul.
§Safety
This results in undefined behavior whenself * rhs > usize::MAX orself * rhs < usize::MIN,i.e. whenchecked_mul would returnNone.
1.0.0 (const: 1.52.0) ·Sourcepub const fnchecked_div(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_div(self, rhs:usize) ->Option<usize>
Checked integer division. Computesself / rhs, returningNoneifrhs == 0.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_div(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_div(self, rhs:usize) ->usize
Strict integer division. Computesself / rhs.
Strict division on unsigned types is just normal division. There’s noway overflow could ever happen. This function exists so that alloperations are accounted for in the strict operations.
§Panics
This function will panic ifrhs is zero.
§Examples
The following panics because of division by zero:
1.38.0 (const: 1.52.0) ·Sourcepub const fnchecked_div_euclid(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_div_euclid(self, rhs:usize) ->Option<usize>
Checked Euclidean division. Computesself.div_euclid(rhs), returningNoneifrhs == 0.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_div_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_div_euclid(self, rhs:usize) ->usize
Strict Euclidean division. Computesself.div_euclid(rhs).
Strict division on unsigned types is just normal division. There’s noway overflow could ever happen. This function exists so that alloperations are accounted for in the strict operations. Since, for thepositive integers, all common definitions of division are equal, thisis exactly equal toself.strict_div(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
The following panics because of division by zero:
Sourcepub const fnchecked_div_exact(self, rhs:usize) ->Option<usize>
🔬This is a nightly-only experimental API. (exact_div #139911)Available on64-bit only.
pub const fnchecked_div_exact(self, rhs:usize) ->Option<usize>
exact_div #139911)Checked integer division without remainder. Computesself / rhs,returningNone ifrhs == 0 or ifself % rhs != 0.
§Examples
Sourcepub const fndiv_exact(self, rhs:usize) ->Option<usize>
🔬This is a nightly-only experimental API. (exact_div #139911)Available on64-bit only.
pub const fndiv_exact(self, rhs:usize) ->Option<usize>
exact_div #139911)Sourcepub const unsafe fnunchecked_div_exact(self, rhs:usize) ->usize
🔬This is a nightly-only experimental API. (exact_div #139911)Available on64-bit only.
pub const unsafe fnunchecked_div_exact(self, rhs:usize) ->usize
exact_div #139911)Unchecked integer division without remainder. Computesself / rhs.
§Safety
This results in undefined behavior whenrhs == 0 orself % rhs != 0,i.e. whenchecked_div_exact would returnNone.
1.7.0 (const: 1.52.0) ·Sourcepub const fnchecked_rem(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_rem(self, rhs:usize) ->Option<usize>
Checked integer remainder. Computesself % rhs, returningNoneifrhs == 0.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_rem(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_rem(self, rhs:usize) ->usize
Strict integer remainder. Computesself % rhs.
Strict remainder calculation on unsigned types is just the regularremainder calculation. There’s no way overflow could ever happen.This function exists so that all operations are accounted for in thestrict operations.
§Panics
This function will panic ifrhs is zero.
§Examples
The following panics because of division by zero:
1.38.0 (const: 1.52.0) ·Sourcepub const fnchecked_rem_euclid(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_rem_euclid(self, rhs:usize) ->Option<usize>
Checked Euclidean modulo. Computesself.rem_euclid(rhs), returningNoneifrhs == 0.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_rem_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnstrict_rem_euclid(self, rhs:usize) ->usize
Strict Euclidean modulo. Computesself.rem_euclid(rhs).
Strict modulo calculation on unsigned types is just the regularremainder calculation. There’s no way overflow could ever happen.This function exists so that all operations are accounted for in thestrict operations. Since, for the positive integers, all commondefinitions of division are equal, this is exactly equal toself.strict_rem(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
The following panics because of division by zero:
Sourcepub const unsafe fnunchecked_disjoint_bitor(self, other:usize) ->usize
🔬This is a nightly-only experimental API. (disjoint_bitor #135758)Available on64-bit only.
pub const unsafe fnunchecked_disjoint_bitor(self, other:usize) ->usize
disjoint_bitor #135758)Same value asself | other, but UB if any bit position is set in both inputs.
This is a situational micro-optimization for places where you’d ratheruse addition on some platforms and bitwise or on other platforms, basedon exactly which instructions combine better with whatever else you’redoing. Note that there’s no reason to bother using this for placeswhere it’s clear from the operations involved that they can’t overlap.For example, if you’re combiningu16s into au32 with((a as u32) << 16) | (b as u32), that’s fine, as the backend willknow those sides of the| are disjoint without needing help.
§Examples
#![feature(disjoint_bitor)]// SAFETY: `1` and `4` have no bits in common.unsafe{assert_eq!(1_usize.unchecked_disjoint_bitor(4),5);}§Safety
Requires that(self & other) == 0, otherwise it’s immediate UB.
Equivalently, requires that(self | other) == (self + other).
1.67.0 (const: 1.67.0) ·Sourcepub const fnilog(self, base:usize) ->u32
Available on64-bit only.
pub const fnilog(self, base:usize) ->u32
Returns the logarithm of the number with respect to an arbitrary base,rounded down.
This method might not be optimized owing to implementation details;ilog2 can produce results more efficiently for base 2, andilog10can produce results more efficiently for base 10.
§Panics
This function will panic ifself is zero, or ifbase is less than 2.
§Examples
1.67.0 (const: 1.67.0) ·Sourcepub const fnchecked_ilog(self, base:usize) ->Option<u32>
Available on64-bit only.
pub const fnchecked_ilog(self, base:usize) ->Option<u32>
Returns the logarithm of the number with respect to an arbitrary base,rounded down.
ReturnsNone if the number is zero, or if the base is not at least 2.
This method might not be optimized owing to implementation details;checked_ilog2 can produce results more efficiently for base 2, andchecked_ilog10 can produce results more efficiently for base 10.
§Examples
1.67.0 (const: 1.67.0) ·Sourcepub const fnchecked_ilog2(self) ->Option<u32>
Available on64-bit only.
pub const fnchecked_ilog2(self) ->Option<u32>
Returns the base 2 logarithm of the number, rounded down.
ReturnsNone if the number is zero.
§Examples
1.67.0 (const: 1.67.0) ·Sourcepub const fnchecked_ilog10(self) ->Option<u32>
Available on64-bit only.
pub const fnchecked_ilog10(self) ->Option<u32>
Returns the base 10 logarithm of the number, rounded down.
ReturnsNone if the number is zero.
§Examples
1.7.0 (const: 1.47.0) ·Sourcepub const fnchecked_neg(self) ->Option<usize>
Available on64-bit only.
pub const fnchecked_neg(self) ->Option<usize>
Checked negation. Computes-self, returningNone unlessself == 0.
Note that negating any positive integer will overflow.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_neg(self) ->usize
Available on64-bit only.
pub const fnstrict_neg(self) ->usize
1.7.0 (const: 1.47.0) ·Sourcepub const fnchecked_shl(self, rhs:u32) ->Option<usize>
Available on64-bit only.
pub const fnchecked_shl(self, rhs:u32) ->Option<usize>
Checked shift left. Computesself << rhs, returningNoneifrhs is larger than or equal to the number of bits inself.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_shl(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnstrict_shl(self, rhs:u32) ->usize
1.93.0 (const: 1.93.0) ·Sourcepub const unsafe fnunchecked_shl(self, rhs:u32) ->usize
Available on64-bit only.
pub const unsafe fnunchecked_shl(self, rhs:u32) ->usize
Unchecked shift left. Computesself << rhs, assuming thatrhs is less than the number of bits inself.
§Safety
This results in undefined behavior ifrhs is larger thanor equal to the number of bits inself,i.e. whenchecked_shl would returnNone.
1.87.0 (const: 1.87.0) ·Sourcepub const fnunbounded_shl(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnunbounded_shl(self, rhs:u32) ->usize
Unbounded shift left. Computesself << rhs, without bounding the value ofrhs.
Ifrhs is larger or equal to the number of bits inself,the entire value is shifted out, and0 is returned.
§Examples
Sourcepub const fnshl_exact(self, rhs:u32) ->Option<usize>
🔬This is a nightly-only experimental API. (exact_bitshifts #144336)Available on64-bit only.
pub const fnshl_exact(self, rhs:u32) ->Option<usize>
exact_bitshifts #144336)Exact shift left. Computesself << rhs as long as it can be reversed losslessly.
ReturnsNone if any non-zero bits would be shifted out or ifrhs >=usize::BITS.Otherwise, returnsSome(self << rhs).
§Examples
Sourcepub const unsafe fnunchecked_shl_exact(self, rhs:u32) ->usize
🔬This is a nightly-only experimental API. (exact_bitshifts #144336)Available on64-bit only.
pub const unsafe fnunchecked_shl_exact(self, rhs:u32) ->usize
exact_bitshifts #144336)Unchecked exact shift left. Computesself << rhs, assuming the operation can belosslessly reversedrhs cannot be larger thanusize::BITS.
§Safety
This results in undefined behavior whenrhs > self.leading_zeros() || rhs >= usize::BITSi.e. whenusize::shl_exactwould returnNone.
1.7.0 (const: 1.47.0) ·Sourcepub const fnchecked_shr(self, rhs:u32) ->Option<usize>
Available on64-bit only.
pub const fnchecked_shr(self, rhs:u32) ->Option<usize>
Checked shift right. Computesself >> rhs, returningNoneifrhs is larger than or equal to the number of bits inself.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_shr(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnstrict_shr(self, rhs:u32) ->usize
1.93.0 (const: 1.93.0) ·Sourcepub const unsafe fnunchecked_shr(self, rhs:u32) ->usize
Available on64-bit only.
pub const unsafe fnunchecked_shr(self, rhs:u32) ->usize
Unchecked shift right. Computesself >> rhs, assuming thatrhs is less than the number of bits inself.
§Safety
This results in undefined behavior ifrhs is larger thanor equal to the number of bits inself,i.e. whenchecked_shr would returnNone.
1.87.0 (const: 1.87.0) ·Sourcepub const fnunbounded_shr(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnunbounded_shr(self, rhs:u32) ->usize
Unbounded shift right. Computesself >> rhs, without bounding the value ofrhs.
Ifrhs is larger or equal to the number of bits inself,the entire value is shifted out, and0 is returned.
§Examples
Sourcepub const fnshr_exact(self, rhs:u32) ->Option<usize>
🔬This is a nightly-only experimental API. (exact_bitshifts #144336)Available on64-bit only.
pub const fnshr_exact(self, rhs:u32) ->Option<usize>
exact_bitshifts #144336)Exact shift right. Computesself >> rhs as long as it can be reversed losslessly.
ReturnsNone if any non-zero bits would be shifted out or ifrhs >=usize::BITS.Otherwise, returnsSome(self >> rhs).
§Examples
Sourcepub const unsafe fnunchecked_shr_exact(self, rhs:u32) ->usize
🔬This is a nightly-only experimental API. (exact_bitshifts #144336)Available on64-bit only.
pub const unsafe fnunchecked_shr_exact(self, rhs:u32) ->usize
exact_bitshifts #144336)Unchecked exact shift right. Computesself >> rhs, assuming the operation can belosslessly reversed andrhs cannot be larger thanusize::BITS.
§Safety
This results in undefined behavior whenrhs > self.trailing_zeros() || rhs >= usize::BITSi.e. whenusize::shr_exactwould returnNone.
1.34.0 (const: 1.50.0) ·Sourcepub const fnchecked_pow(self, exp:u32) ->Option<usize>
Available on64-bit only.
pub const fnchecked_pow(self, exp:u32) ->Option<usize>
Checked exponentiation. Computesself.pow(exp), returningNone ifoverflow occurred.
§Examples
1.91.0 (const: 1.91.0) ·Sourcepub const fnstrict_pow(self, exp:u32) ->usize
Available on64-bit only.
pub const fnstrict_pow(self, exp:u32) ->usize
1.0.0 (const: 1.47.0) ·Sourcepub const fnsaturating_add(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnsaturating_add(self, rhs:usize) ->usize
Saturating integer addition. Computesself + rhs, saturating atthe numeric bounds instead of overflowing.
§Examples
1.66.0 (const: 1.66.0) ·Sourcepub const fnsaturating_add_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnsaturating_add_signed(self, rhs:isize) ->usize
Saturating addition with a signed integer. Computesself + rhs,saturating at the numeric bounds instead of overflowing.
§Examples
1.0.0 (const: 1.47.0) ·Sourcepub const fnsaturating_sub(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnsaturating_sub(self, rhs:usize) ->usize
Saturating integer subtraction. Computesself - rhs, saturatingat the numeric bounds instead of overflowing.
§Examples
1.90.0 (const: 1.90.0) ·Sourcepub const fnsaturating_sub_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnsaturating_sub_signed(self, rhs:isize) ->usize
Saturating integer subtraction. Computesself -rhs, saturating atthe numeric bounds instead of overflowing.
§Examples
1.7.0 (const: 1.47.0) ·Sourcepub const fnsaturating_mul(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnsaturating_mul(self, rhs:usize) ->usize
Saturating integer multiplication. Computesself * rhs,saturating at the numeric bounds instead of overflowing.
§Examples
1.58.0 (const: 1.58.0) ·Sourcepub const fnsaturating_div(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnsaturating_div(self, rhs:usize) ->usize
1.34.0 (const: 1.50.0) ·Sourcepub const fnsaturating_pow(self, exp:u32) ->usize
Available on64-bit only.
pub const fnsaturating_pow(self, exp:u32) ->usize
Saturating integer exponentiation. Computesself.pow(exp),saturating at the numeric bounds instead of overflowing.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnwrapping_add(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_add(self, rhs:usize) ->usize
Wrapping (modular) addition. Computesself + rhs,wrapping around at the boundary of the type.
§Examples
1.66.0 (const: 1.66.0) ·Sourcepub const fnwrapping_add_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnwrapping_add_signed(self, rhs:isize) ->usize
Wrapping (modular) addition with a signed integer. Computesself + rhs, wrapping around at the boundary of the type.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnwrapping_sub(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_sub(self, rhs:usize) ->usize
Wrapping (modular) subtraction. Computesself - rhs,wrapping around at the boundary of the type.
§Examples
1.90.0 (const: 1.90.0) ·Sourcepub const fnwrapping_sub_signed(self, rhs:isize) ->usize
Available on64-bit only.
pub const fnwrapping_sub_signed(self, rhs:isize) ->usize
Wrapping (modular) subtraction with a signed integer. Computesself - rhs, wrapping around at the boundary of the type.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnwrapping_mul(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_mul(self, rhs:usize) ->usize
Wrapping (modular) multiplication. Computesself * rhs, wrapping around at the boundary of the type.
§Examples
Please note that this example is shared among integer types, which is whyu8 is used.
1.2.0 (const: 1.52.0) ·Sourcepub const fnwrapping_div(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_div(self, rhs:usize) ->usize
1.38.0 (const: 1.52.0) ·Sourcepub const fnwrapping_div_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_div_euclid(self, rhs:usize) ->usize
Wrapping Euclidean division. Computesself.div_euclid(rhs).
Wrapped division on unsigned types is just normal division. There’sno way wrapping could ever happen. This function exists so that alloperations are accounted for in the wrapping operations. Since, forthe positive integers, all common definitions of division are equal,this is exactly equal toself.wrapping_div(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
1.2.0 (const: 1.52.0) ·Sourcepub const fnwrapping_rem(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_rem(self, rhs:usize) ->usize
Wrapping (modular) remainder. Computesself % rhs.
Wrapped remainder calculation on unsigned types is just the regularremainder calculation. There’s no way wrapping could ever happen.This function exists so that all operations are accounted for in thewrapping operations.
§Panics
This function will panic ifrhs is zero.
§Examples
1.38.0 (const: 1.52.0) ·Sourcepub const fnwrapping_rem_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnwrapping_rem_euclid(self, rhs:usize) ->usize
Wrapping Euclidean modulo. Computesself.rem_euclid(rhs).
Wrapped modulo calculation on unsigned types is just the regularremainder calculation. There’s no way wrapping could ever happen.This function exists so that all operations are accounted for in thewrapping operations. Since, for the positive integers, all commondefinitions of division are equal, this is exactly equal toself.wrapping_rem(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
1.2.0 (const: 1.32.0) ·Sourcepub const fnwrapping_neg(self) ->usize
Available on64-bit only.
pub const fnwrapping_neg(self) ->usize
Wrapping (modular) negation. Computes-self,wrapping around at the boundary of the type.
Since unsigned types do not have negative equivalentsall applications of this function will wrap (except for-0).For values smaller than the corresponding signed type’s maximumthe result is the same as casting the corresponding signed value.Any larger values are equivalent toMAX + 1 - (val - MAX - 1) whereMAX is the corresponding signed type’s maximum.
§Examples
1.2.0 (const: 1.32.0) ·Sourcepub const fnwrapping_shl(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnwrapping_shl(self, rhs:u32) ->usize
Panic-free bitwise shift-left; yieldsself << mask(rhs),wheremask removes any high-order bits ofrhs thatwould cause the shift to exceed the bitwidth of the type.
Note that this isnot the same as a rotate-left; theRHS of a wrapping shift-left is restricted to the rangeof the type, rather than the bits shifted out of the LHSbeing returned to the other end. The primitive integertypes all implement arotate_left function,which may be what you want instead.
§Examples
1.2.0 (const: 1.32.0) ·Sourcepub const fnwrapping_shr(self, rhs:u32) ->usize
Available on64-bit only.
pub const fnwrapping_shr(self, rhs:u32) ->usize
Panic-free bitwise shift-right; yieldsself >> mask(rhs),wheremask removes any high-order bits ofrhs thatwould cause the shift to exceed the bitwidth of the type.
Note that this isnot the same as a rotate-right; theRHS of a wrapping shift-right is restricted to the rangeof the type, rather than the bits shifted out of the LHSbeing returned to the other end. The primitive integertypes all implement arotate_right function,which may be what you want instead.
§Examples
1.34.0 (const: 1.50.0) ·Sourcepub const fnwrapping_pow(self, exp:u32) ->usize
Available on64-bit only.
pub const fnwrapping_pow(self, exp:u32) ->usize
Wrapping (modular) exponentiation. Computesself.pow(exp),wrapping around at the boundary of the type.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_add(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_add(self, rhs:usize) -> (usize,bool)
Calculatesself +rhs.
Returns a tuple of the addition along with a boolean indicatingwhether an arithmetic overflow would occur. If an overflow wouldhave occurred then the wrapped value is returned.
§Examples
1.91.0 (const:unstable) ·Sourcepub fncarrying_add(self, rhs:usize, carry:bool) -> (usize,bool)
Available on64-bit only.
pub fncarrying_add(self, rhs:usize, carry:bool) -> (usize,bool)
Calculatesself +rhs +carry and returns a tuple containingthe sum and the output carry (in that order).
Performs “ternary addition” of two integer operands and a carry-inbit, and returns an output integer and a carry-out bit. This allowschaining together multiple additions to create a wider addition, andcan be useful for bignum addition.
This can be thought of as a 64-bit “full adder”, in the electronics sense.
If the input carry is false, this method is equivalent tooverflowing_add, and the output carry isequal to the overflow flag. Note that although carry and overflowflags are similar for unsigned integers, they are different forsigned integers.
§Examples
// 3 MAX (a = 3 × 2^64 + 2^64 - 1)// + 5 7 (b = 5 × 2^64 + 7)// ---------// 9 6 (sum = 9 × 2^64 + 6)let(a1, a0): (usize, usize) = (3, usize::MAX);let(b1, b0): (usize, usize) = (5,7);letcarry0 =false;let(sum0, carry1) = a0.carrying_add(b0, carry0);assert_eq!(carry1,true);let(sum1, carry2) = a1.carrying_add(b1, carry1);assert_eq!(carry2,false);assert_eq!((sum1, sum0), (9,6));1.66.0 (const: 1.66.0) ·Sourcepub const fnoverflowing_add_signed(self, rhs:isize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_add_signed(self, rhs:isize) -> (usize,bool)
Calculatesself +rhs with a signedrhs.
Returns a tuple of the addition along with a boolean indicatingwhether an arithmetic overflow would occur. If an overflow wouldhave occurred then the wrapped value is returned.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_sub(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_sub(self, rhs:usize) -> (usize,bool)
Calculatesself -rhs.
Returns a tuple of the subtraction along with a boolean indicatingwhether an arithmetic overflow would occur. If an overflow wouldhave occurred then the wrapped value is returned.
§Examples
1.91.0 (const:unstable) ·Sourcepub fnborrowing_sub(self, rhs:usize, borrow:bool) -> (usize,bool)
Available on64-bit only.
pub fnborrowing_sub(self, rhs:usize, borrow:bool) -> (usize,bool)
Calculatesself −rhs −borrow and returns a tuplecontaining the difference and the output borrow.
Performs “ternary subtraction” by subtracting both an integeroperand and a borrow-in bit fromself, and returns an outputinteger and a borrow-out bit. This allows chaining together multiplesubtractions to create a wider subtraction, and can be useful forbignum subtraction.
§Examples
// 9 6 (a = 9 × 2^64 + 6)// - 5 7 (b = 5 × 2^64 + 7)// ---------// 3 MAX (diff = 3 × 2^64 + 2^64 - 1)let(a1, a0): (usize, usize) = (9,6);let(b1, b0): (usize, usize) = (5,7);letborrow0 =false;let(diff0, borrow1) = a0.borrowing_sub(b0, borrow0);assert_eq!(borrow1,true);let(diff1, borrow2) = a1.borrowing_sub(b1, borrow1);assert_eq!(borrow2,false);assert_eq!((diff1, diff0), (3, usize::MAX));1.90.0 (const: 1.90.0) ·Sourcepub const fnoverflowing_sub_signed(self, rhs:isize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_sub_signed(self, rhs:isize) -> (usize,bool)
Calculatesself -rhs with a signedrhs
Returns a tuple of the subtraction along with a boolean indicatingwhether an arithmetic overflow would occur. If an overflow wouldhave occurred then the wrapped value is returned.
§Examples
1.60.0 (const: 1.60.0) ·Sourcepub const fnabs_diff(self, other:usize) ->usize
Available on64-bit only.
pub const fnabs_diff(self, other:usize) ->usize
Computes the absolute difference betweenself andother.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_mul(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_mul(self, rhs:usize) -> (usize,bool)
Calculates the multiplication ofself andrhs.
Returns a tuple of the multiplication along with a booleanindicating whether an arithmetic overflow would occur. If anoverflow would have occurred then the wrapped value is returned.
If you want thevalue of the overflow, rather than justwhetheran overflow occurred, seeSelf::carrying_mul.
§Examples
Please note that this example is shared among integer types, which is whyu32 is used.
Sourcepub const fnwidening_mul(self, rhs:usize) -> (usize,usize)
🔬This is a nightly-only experimental API. (bigint_helper_methods #85532)Available on64-bit only.
pub const fnwidening_mul(self, rhs:usize) -> (usize,usize)
bigint_helper_methods #85532)Calculates the complete double-width productself * rhs.
This returns the low-order (wrapping) bits and the high-order (overflow) bitsof the result as two separate values, in that order. As such,a.widening_mul(b).0 produces the same result asa.wrapping_mul(b).
If you also need to add a value and carry to the wide result, then you wantSelf::carrying_mul_add instead.
If you also need to add a carry to the wide result, then you wantSelf::carrying_mul instead.
If you just want to knowwhether the multiplication overflowed, then youwantSelf::overflowing_mul instead.
§Examples
#![feature(bigint_helper_methods)]assert_eq!(5_usize.widening_mul(7), (35,0));assert_eq!(usize::MAX.widening_mul(usize::MAX), (1, usize::MAX -1));Compared to other*_mul methods:
#![feature(bigint_helper_methods)]assert_eq!(usize::widening_mul(1<<63,6), (0,3));assert_eq!(usize::overflowing_mul(1<<63,6), (0,true));assert_eq!(usize::wrapping_mul(1<<63,6),0);assert_eq!(usize::checked_mul(1<<63,6),None);Please note that this example is shared among integer types, which is whyu32 is used.
1.91.0 (const:unstable) ·Sourcepub fncarrying_mul(self, rhs:usize, carry:usize) -> (usize,usize)
Available on64-bit only.
pub fncarrying_mul(self, rhs:usize, carry:usize) -> (usize,usize)
Calculates the “full multiplication”self * rhs + carrywithout the possibility to overflow.
This returns the low-order (wrapping) bits and the high-order (overflow) bitsof the result as two separate values, in that order.
Performs “long multiplication” which takes in an extra amount to add, and may return anadditional amount of overflow. This allows for chaining together multiplemultiplications to create “big integers” which represent larger values.
If you also need to add a value, then useSelf::carrying_mul_add.
§Examples
Please note that this example is shared among integer types, which is whyu32 is used.
assert_eq!(5u32.carrying_mul(2,0), (10,0));assert_eq!(5u32.carrying_mul(2,10), (20,0));assert_eq!(1_000_000_000u32.carrying_mul(10,0), (1410065408,2));assert_eq!(1_000_000_000u32.carrying_mul(10,10), (1410065418,2));assert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));This is the core operation needed for scalar multiplication whenimplementing it for wider-than-native types.
#![feature(bigint_helper_methods)]fnscalar_mul_eq(little_endian_digits:&mutVec<u16>, multiplicand: u16) {letmutcarry =0;fordinlittle_endian_digits.iter_mut() { (*d, carry) = d.carrying_mul(multiplicand, carry); }ifcarry !=0{ little_endian_digits.push(carry); }}letmutv =vec![10,20];scalar_mul_eq(&mutv,3);assert_eq!(v, [30,60]);assert_eq!(0x87654321_u64*0xFEED,0x86D3D159E38D);letmutv =vec![0x4321,0x8765];scalar_mul_eq(&mutv,0xFEED);assert_eq!(v, [0xE38D,0xD159,0x86D3]);Ifcarry is zero, this is similar tooverflowing_mul,except that it gives the value of the overflow instead of just whether one happened:
#![feature(bigint_helper_methods)]letr = u8::carrying_mul(7,13,0);assert_eq!((r.0, r.1!=0), u8::overflowing_mul(7,13));letr = u8::carrying_mul(13,42,0);assert_eq!((r.0, r.1!=0), u8::overflowing_mul(13,42));The value of the first field in the returned tuple matches what you’d getby combining thewrapping_mul andwrapping_add methods:
1.91.0 (const:unstable) ·Sourcepub fncarrying_mul_add( self, rhs:usize, carry:usize, add:usize,) -> (usize,usize)
Available on64-bit only.
pub fncarrying_mul_add( self, rhs:usize, carry:usize, add:usize,) -> (usize,usize)
Calculates the “full multiplication”self * rhs + carry + add.
This returns the low-order (wrapping) bits and the high-order (overflow) bitsof the result as two separate values, in that order.
This cannot overflow, as the double-width result has exactly enoughspace for the largest possible result. This is equivalent to how, indecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.
Performs “long multiplication” which takes in an extra amount to add, and may return anadditional amount of overflow. This allows for chaining together multiplemultiplications to create “big integers” which represent larger values.
If you don’t need theadd part, then you can useSelf::carrying_mul instead.
§Examples
Please note that this example is shared between integer types,which explains whyu32 is used here.
assert_eq!(5u32.carrying_mul_add(2,0,0), (10,0));assert_eq!(5u32.carrying_mul_add(2,10,10), (30,0));assert_eq!(1_000_000_000u32.carrying_mul_add(10,0,0), (1410065408,2));assert_eq!(1_000_000_000u32.carrying_mul_add(10,10,10), (1410065428,2));assert_eq!(usize::MAX.carrying_mul_add(usize::MAX, usize::MAX, usize::MAX), (usize::MAX, usize::MAX));This is the core per-digit operation for “grade school” O(n²) multiplication.
Please note that this example is shared between integer types,usingu8 for simplicity of the demonstration.
fnquadratic_mul<constN: usize>(a: [u8; N], b: [u8; N]) -> [u8; N] {letmutout = [0; N];forjin0..N {letmutcarry =0;foriin0..(N - j) { (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry); } } out}// -1 * -1 == 1assert_eq!(quadratic_mul([0xFF;3], [0xFF;3]), [1,0,0]);assert_eq!(u32::wrapping_mul(0x9e3779b9,0x7f4a7c15),0xcffc982d);assert_eq!( quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)), u32::to_le_bytes(0xcffc982d));1.7.0 (const: 1.52.0) ·Sourcepub const fnoverflowing_div(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_div(self, rhs:usize) -> (usize,bool)
1.38.0 (const: 1.52.0) ·Sourcepub const fnoverflowing_div_euclid(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_div_euclid(self, rhs:usize) -> (usize,bool)
Calculates the quotient of Euclidean divisionself.div_euclid(rhs).
Returns a tuple of the divisor along with a boolean indicatingwhether an arithmetic overflow would occur. Note that for unsignedintegers overflow never occurs, so the second value is alwaysfalse.Since, for the positive integers, all commondefinitions of division are equal, thisis exactly equal toself.overflowing_div(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
1.7.0 (const: 1.52.0) ·Sourcepub const fnoverflowing_rem(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_rem(self, rhs:usize) -> (usize,bool)
Calculates the remainder whenself is divided byrhs.
Returns a tuple of the remainder after dividing along with a booleanindicating whether an arithmetic overflow would occur. Note that forunsigned integers overflow never occurs, so the second value isalwaysfalse.
§Panics
This function will panic ifrhs is zero.
§Examples
1.38.0 (const: 1.52.0) ·Sourcepub const fnoverflowing_rem_euclid(self, rhs:usize) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_rem_euclid(self, rhs:usize) -> (usize,bool)
Calculates the remainderself.rem_euclid(rhs) as if by Euclidean division.
Returns a tuple of the modulo after dividing along with a booleanindicating whether an arithmetic overflow would occur. Note that forunsigned integers overflow never occurs, so the second value isalwaysfalse.Since, for the positive integers, all commondefinitions of division are equal, this operationis exactly equal toself.overflowing_rem(rhs).
§Panics
This function will panic ifrhs is zero.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_neg(self) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_neg(self) -> (usize,bool)
Negates self in an overflowing fashion.
Returns!self + 1 using wrapping operations to return the valuethat represents the negation of this unsigned value. Note that forpositive unsigned values overflow always occurs, but negating 0 doesnot overflow.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_shl(self, rhs:u32) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_shl(self, rhs:u32) -> (usize,bool)
Shifts self left byrhs bits.
Returns a tuple of the shifted version of self along with a booleanindicating whether the shift value was larger than or equal to thenumber of bits. If the shift value is too large, then value ismasked (N-1) where N is the number of bits, and this value is thenused to perform the shift.
§Examples
1.7.0 (const: 1.32.0) ·Sourcepub const fnoverflowing_shr(self, rhs:u32) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_shr(self, rhs:u32) -> (usize,bool)
Shifts self right byrhs bits.
Returns a tuple of the shifted version of self along with a booleanindicating whether the shift value was larger than or equal to thenumber of bits. If the shift value is too large, then value ismasked (N-1) where N is the number of bits, and this value is thenused to perform the shift.
§Examples
1.34.0 (const: 1.50.0) ·Sourcepub const fnoverflowing_pow(self, exp:u32) -> (usize,bool)
Available on64-bit only.
pub const fnoverflowing_pow(self, exp:u32) -> (usize,bool)
Raises self to the power ofexp, using exponentiation by squaring.
Returns a tuple of the exponentiation along with a bool indicatingwhether an overflow happened.
§Examples
1.0.0 (const: 1.50.0) ·Sourcepub const fnpow(self, exp:u32) ->usize
Available on64-bit only.
pub const fnpow(self, exp:u32) ->usize
Raises self to the power ofexp, using exponentiation by squaring.
§Examples
1.38.0 (const: 1.52.0) ·Sourcepub const fndiv_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fndiv_euclid(self, rhs:usize) ->usize
1.38.0 (const: 1.52.0) ·Sourcepub const fnrem_euclid(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnrem_euclid(self, rhs:usize) ->usize
Sourcepub const fndiv_floor(self, rhs:usize) ->usize
🔬This is a nightly-only experimental API. (int_roundings #88581)Available on64-bit only.
pub const fndiv_floor(self, rhs:usize) ->usize
int_roundings #88581)1.73.0 (const: 1.73.0) ·Sourcepub const fnnext_multiple_of(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnnext_multiple_of(self, rhs:usize) ->usize
Calculates the smallest value greater than or equal toself thatis a multiple ofrhs.
§Panics
This function will panic ifrhs is zero.
§Overflow behavior
On overflow, this function will panic if overflow checks are enabled (default in debugmode) and wrap if overflow checks are disabled (default in release mode).
§Examples
1.73.0 (const: 1.73.0) ·Sourcepub const fnchecked_next_multiple_of(self, rhs:usize) ->Option<usize>
Available on64-bit only.
pub const fnchecked_next_multiple_of(self, rhs:usize) ->Option<usize>
Calculates the smallest value greater than or equal toself thatis a multiple ofrhs. ReturnsNone ifrhs is zero or theoperation would result in overflow.
§Examples
1.87.0 (const: 1.87.0) ·Sourcepub const fnis_multiple_of(self, rhs:usize) ->bool
Available on64-bit only.
pub const fnis_multiple_of(self, rhs:usize) ->bool
Returnstrue ifself is an integer multiple ofrhs, and false otherwise.
This function is equivalent toself % rhs == 0, except that it will not panicforrhs == 0. Instead,0.is_multiple_of(0) == true, and for any non-zeron,n.is_multiple_of(0) == false.
§Examples
1.0.0 (const: 1.32.0) ·Sourcepub const fnis_power_of_two(self) ->bool
Available on64-bit only.
pub const fnis_power_of_two(self) ->bool
Returnstrue if and only ifself == 2^k for some unsigned integerk.
§Examples
1.0.0 (const: 1.50.0) ·Sourcepub const fnnext_power_of_two(self) ->usize
Available on64-bit only.
pub const fnnext_power_of_two(self) ->usize
Returns the smallest power of two greater than or equal toself.
When return value overflows (i.e.,self > (1 << (N-1)) for typeuN), it panics in debug mode and the return value is wrapped to 0 inrelease mode (the only situation in which this method can return 0).
§Examples
1.0.0 (const: 1.50.0) ·Sourcepub const fnchecked_next_power_of_two(self) ->Option<usize>
Available on64-bit only.
pub const fnchecked_next_power_of_two(self) ->Option<usize>
Returns the smallest power of two greater than or equal toself. Ifthe next power of two is greater than the type’s maximum value,None is returned, otherwise the power of two is wrapped inSome.
§Examples
Sourcepub const fnwrapping_next_power_of_two(self) ->usize
🔬This is a nightly-only experimental API. (wrapping_next_power_of_two #32463)Available on64-bit only.
pub const fnwrapping_next_power_of_two(self) ->usize
wrapping_next_power_of_two #32463)Returns the smallest power of two greater than or equal ton. Ifthe next power of two is greater than the type’s maximum value,the return value is wrapped to0.
§Examples
1.32.0 (const: 1.44.0) ·Sourcepub const fnto_be_bytes(self) -> [u8;8]
Available on64-bit only.
pub const fnto_be_bytes(self) -> [u8;8]
Returns the memory representation of this integer as a byte array inbig-endian (network) byte order.
Note: This function returns an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
1.32.0 (const: 1.44.0) ·Sourcepub const fnto_le_bytes(self) -> [u8;8]
Available on64-bit only.
pub const fnto_le_bytes(self) -> [u8;8]
Returns the memory representation of this integer as a byte array inlittle-endian byte order.
Note: This function returns an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
1.32.0 (const: 1.44.0) ·Sourcepub const fnto_ne_bytes(self) -> [u8;8]
Available on64-bit only.
pub const fnto_ne_bytes(self) -> [u8;8]
Returns the memory representation of this integer as a byte array innative byte order.
As the target platform’s native endianness is used, portable codeshould useto_be_bytes orto_le_bytes, as appropriate,instead.
Note: This function returns an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
1.32.0 (const: 1.44.0) ·Sourcepub const fnfrom_be_bytes(bytes: [u8;8]) ->usize
Available on64-bit only.
pub const fnfrom_be_bytes(bytes: [u8;8]) ->usize
Creates a native endian integer value from its representationas a byte array in big endian.
Note: This function takes an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
letvalue = usize::from_be_bytes([0x12,0x34,0x56,0x78,0x90,0x12,0x34,0x56]);assert_eq!(value,0x1234567890123456);When starting from a slice rather than an array, fallible conversion APIs can be used:
1.32.0 (const: 1.44.0) ·Sourcepub const fnfrom_le_bytes(bytes: [u8;8]) ->usize
Available on64-bit only.
pub const fnfrom_le_bytes(bytes: [u8;8]) ->usize
Creates a native endian integer value from its representationas a byte array in little endian.
Note: This function takes an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
letvalue = usize::from_le_bytes([0x56,0x34,0x12,0x90,0x78,0x56,0x34,0x12]);assert_eq!(value,0x1234567890123456);When starting from a slice rather than an array, fallible conversion APIs can be used:
1.32.0 (const: 1.44.0) ·Sourcepub const fnfrom_ne_bytes(bytes: [u8;8]) ->usize
Available on64-bit only.
pub const fnfrom_ne_bytes(bytes: [u8;8]) ->usize
Creates a native endian integer value from its memory representationas a byte array in native endianness.
As the target platform’s native endianness is used, portable codelikely wants to usefrom_be_bytes orfrom_le_bytes, asappropriate instead.
Note: This function takes an array of length 2, 4 or 8 bytesdepending on the target pointer size.
§Examples
letvalue = usize::from_ne_bytes(ifcfg!(target_endian ="big") { [0x12,0x34,0x56,0x78,0x90,0x12,0x34,0x56]}else{ [0x56,0x34,0x12,0x90,0x78,0x56,0x34,0x12]});assert_eq!(value,0x1234567890123456);When starting from a slice rather than an array, fallible conversion APIs can be used:
1.0.0 (const: 1.32.0) ·Sourcepub const fnmin_value() ->usize
👎Deprecating in a future version: replaced by theMIN associated constant on this typeAvailable on64-bit only.
pub const fnmin_value() ->usize
MIN associated constant on this typeNew code should prefer to useusize::MIN instead.
Returns the smallest value that can be represented by this integer type.
1.0.0 (const: 1.32.0) ·Sourcepub const fnmax_value() ->usize
👎Deprecating in a future version: replaced by theMAX associated constant on this typeAvailable on64-bit only.
pub const fnmax_value() ->usize
MAX associated constant on this typeNew code should prefer to useusize::MAX instead.
Returns the largest value that can be represented by this integer type.
1.85.0 (const: 1.85.0) ·Sourcepub const fnmidpoint(self, rhs:usize) ->usize
Available on64-bit only.
pub const fnmidpoint(self, rhs:usize) ->usize
Calculates the midpoint (average) betweenself andrhs.
midpoint(a, b) is(a + b) / 2 as if it were performed in asufficiently-large unsigned integral type. This implies that the result isalways rounded towards zero and that no overflow will ever occur.
§Examples
Source§implusize
implusize
1.0.0 (const: 1.82.0) ·Sourcepub const fnfrom_str_radix( src: &str, radix:u32,) ->Result<usize,ParseIntError>
pub const fnfrom_str_radix( src: &str, radix:u32,) ->Result<usize,ParseIntError>
Parses an integer from a string slice with digits in a given base.
The string is expected to be an optional+sign followed by only digits. Leading and trailing non-digit characters (includingwhitespace) represent an error. Underscores (which are accepted in Rust literals)also represent an error.
Digits are a subset of these characters, depending onradix:
0-9a-zA-Z
§Panics
This function panics ifradix is not in the range from 2 to 36.
§See also
If the string to be parsed is in base 10 (decimal),from_str orstr::parse can also be used.
§Examples
Trailing space returns error:
Sourcepub const fnfrom_ascii(src: &[u8]) ->Result<usize,ParseIntError>
🔬This is a nightly-only experimental API. (int_from_ascii #134821)
pub const fnfrom_ascii(src: &[u8]) ->Result<usize,ParseIntError>
int_from_ascii #134821)Parses an integer from an ASCII-byte slice with decimal digits.
The characters are expected to be an optional+sign followed by only digits. Leading and trailing non-digit characters (includingwhitespace) represent an error. Underscores (which are accepted in Rust literals)also represent an error.
§Examples
Trailing space returns error:
Sourcepub const fnfrom_ascii_radix( src: &[u8], radix:u32,) ->Result<usize,ParseIntError>
🔬This is a nightly-only experimental API. (int_from_ascii #134821)
pub const fnfrom_ascii_radix( src: &[u8], radix:u32,) ->Result<usize,ParseIntError>
int_from_ascii #134821)Parses an integer from an ASCII-byte slice with digits in a given base.
The characters are expected to be an optional+sign followed by only digits. Leading and trailing non-digit characters (includingwhitespace) represent an error. Underscores (which are accepted in Rust literals)also represent an error.
Digits are a subset of these characters, depending onradix:
0-9a-zA-Z
§Panics
This function panics ifradix is not in the range from 2 to 36.
§Examples
Trailing space returns error:
Source§implusize
implusize
Trait Implementations§
1.74.0 (const:unstable) ·Source§implAddAssign<&usize> forSaturating<usize>
implAddAssign<&usize> forSaturating<usize>
Source§fnadd_assign(&mut self, other: &usize)
fnadd_assign(&mut self, other: &usize)
+= operation.Read more1.22.0 (const:unstable) ·Source§implAddAssign<&usize> forWrapping<usize>
implAddAssign<&usize> forWrapping<usize>
Source§fnadd_assign(&mut self, other: &usize)
fnadd_assign(&mut self, other: &usize)
+= operation.Read more1.22.0 (const:unstable) ·Source§implAddAssign<&usize> forusize
implAddAssign<&usize> forusize
Source§fnadd_assign(&mut self, other: &usize)
fnadd_assign(&mut self, other: &usize)
+= operation.Read more1.74.0 (const:unstable) ·Source§implAddAssign<usize> forSaturating<usize>
implAddAssign<usize> forSaturating<usize>
Source§fnadd_assign(&mut self, other:usize)
fnadd_assign(&mut self, other:usize)
+= operation.Read more1.60.0 (const:unstable) ·Source§implAddAssign<usize> forWrapping<usize>
implAddAssign<usize> forWrapping<usize>
Source§fnadd_assign(&mut self, other:usize)
fnadd_assign(&mut self, other:usize)
+= operation.Read more1.8.0 (const:unstable) ·Source§implAddAssign forusize
implAddAssign forusize
Source§fnadd_assign(&mut self, other:usize)
fnadd_assign(&mut self, other:usize)
+= operation.Read moreSource§implAtomicPrimitive forusize
Available ontarget_has_atomic_load_store=ptr only.
implAtomicPrimitive forusize
target_has_atomic_load_store=ptr only.Source§typeAtomicInner =AtomicUsize
typeAtomicInner =AtomicUsize
atomic_internals)1.74.0 (const:unstable) ·Source§implBitAndAssign<&usize> forSaturating<usize>
implBitAndAssign<&usize> forSaturating<usize>
Source§fnbitand_assign(&mut self, other: &usize)
fnbitand_assign(&mut self, other: &usize)
&= operation.Read more1.22.0 (const:unstable) ·Source§implBitAndAssign<&usize> forWrapping<usize>
implBitAndAssign<&usize> forWrapping<usize>
Source§fnbitand_assign(&mut self, other: &usize)
fnbitand_assign(&mut self, other: &usize)
&= operation.Read more1.22.0 (const:unstable) ·Source§implBitAndAssign<&usize> forusize
implBitAndAssign<&usize> forusize
Source§fnbitand_assign(&mut self, other: &usize)
fnbitand_assign(&mut self, other: &usize)
&= operation.Read more1.74.0 (const:unstable) ·Source§implBitAndAssign<usize> forSaturating<usize>
implBitAndAssign<usize> forSaturating<usize>
Source§fnbitand_assign(&mut self, other:usize)
fnbitand_assign(&mut self, other:usize)
&= operation.Read more1.60.0 (const:unstable) ·Source§implBitAndAssign<usize> forWrapping<usize>
implBitAndAssign<usize> forWrapping<usize>
Source§fnbitand_assign(&mut self, other:usize)
fnbitand_assign(&mut self, other:usize)
&= operation.Read more1.8.0 (const:unstable) ·Source§implBitAndAssign forusize
implBitAndAssign forusize
Source§fnbitand_assign(&mut self, other:usize)
fnbitand_assign(&mut self, other:usize)
&= operation.Read more1.74.0 (const:unstable) ·Source§implBitOrAssign<&usize> forSaturating<usize>
implBitOrAssign<&usize> forSaturating<usize>
Source§fnbitor_assign(&mut self, other: &usize)
fnbitor_assign(&mut self, other: &usize)
|= operation.Read more1.22.0 (const:unstable) ·Source§implBitOrAssign<&usize> forWrapping<usize>
implBitOrAssign<&usize> forWrapping<usize>
Source§fnbitor_assign(&mut self, other: &usize)
fnbitor_assign(&mut self, other: &usize)
|= operation.Read more1.22.0 (const:unstable) ·Source§implBitOrAssign<&usize> forusize
implBitOrAssign<&usize> forusize
Source§fnbitor_assign(&mut self, other: &usize)
fnbitor_assign(&mut self, other: &usize)
|= operation.Read more1.74.0 (const:unstable) ·Source§implBitOrAssign<usize> forSaturating<usize>
implBitOrAssign<usize> forSaturating<usize>
Source§fnbitor_assign(&mut self, other:usize)
fnbitor_assign(&mut self, other:usize)
|= operation.Read more1.60.0 (const:unstable) ·Source§implBitOrAssign<usize> forWrapping<usize>
implBitOrAssign<usize> forWrapping<usize>
Source§fnbitor_assign(&mut self, other:usize)
fnbitor_assign(&mut self, other:usize)
|= operation.Read more1.8.0 (const:unstable) ·Source§implBitOrAssign forusize
implBitOrAssign forusize
Source§fnbitor_assign(&mut self, other:usize)
fnbitor_assign(&mut self, other:usize)
|= operation.Read more1.74.0 (const:unstable) ·Source§implBitXorAssign<&usize> forSaturating<usize>
implBitXorAssign<&usize> forSaturating<usize>
Source§fnbitxor_assign(&mut self, other: &usize)
fnbitxor_assign(&mut self, other: &usize)
^= operation.Read more1.22.0 (const:unstable) ·Source§implBitXorAssign<&usize> forWrapping<usize>
implBitXorAssign<&usize> forWrapping<usize>
Source§fnbitxor_assign(&mut self, other: &usize)
fnbitxor_assign(&mut self, other: &usize)
^= operation.Read more1.22.0 (const:unstable) ·Source§implBitXorAssign<&usize> forusize
implBitXorAssign<&usize> forusize
Source§fnbitxor_assign(&mut self, other: &usize)
fnbitxor_assign(&mut self, other: &usize)
^= operation.Read more1.74.0 (const:unstable) ·Source§implBitXorAssign<usize> forSaturating<usize>
implBitXorAssign<usize> forSaturating<usize>
Source§fnbitxor_assign(&mut self, other:usize)
fnbitxor_assign(&mut self, other:usize)
^= operation.Read more1.60.0 (const:unstable) ·Source§implBitXorAssign<usize> forWrapping<usize>
implBitXorAssign<usize> forWrapping<usize>
Source§fnbitxor_assign(&mut self, other:usize)
fnbitxor_assign(&mut self, other:usize)
^= operation.Read more1.8.0 (const:unstable) ·Source§implBitXorAssign forusize
implBitXorAssign forusize
Source§fnbitxor_assign(&mut self, other:usize)
fnbitxor_assign(&mut self, other:usize)
^= operation.Read moreSource§implCarryingMulAdd forusize
implCarryingMulAdd forusize
Source§implDisjointBitOr forusize
implDisjointBitOr forusize
Source§unsafe fndisjoint_bitor(self, other:usize) ->usize
unsafe fndisjoint_bitor(self, other:usize) ->usize
core_intrinsics_fallbacks)super::disjoint_bitor; we just need the trait indirection to handledifferent types since calling intrinsics with generics doesn’t work.Source§implDistribution<usize> forRangeFull
implDistribution<usize> forRangeFull
1.51.0 (const:unstable) ·Source§implDiv<NonZero<usize>> forusize
implDiv<NonZero<usize>> forusize
1.0.0 (const:unstable) ·Source§implDiv forusize
This operation rounds towards zero, truncating anyfractional part of the exact result.
implDiv forusize
This operation rounds towards zero, truncating anyfractional part of the exact result.
§Panics
This operation will panic ifother == 0.
1.74.0 (const:unstable) ·Source§implDivAssign<&usize> forSaturating<usize>
implDivAssign<&usize> forSaturating<usize>
Source§fndiv_assign(&mut self, other: &usize)
fndiv_assign(&mut self, other: &usize)
/= operation.Read more1.22.0 (const:unstable) ·Source§implDivAssign<&usize> forWrapping<usize>
implDivAssign<&usize> forWrapping<usize>
Source§fndiv_assign(&mut self, other: &usize)
fndiv_assign(&mut self, other: &usize)
/= operation.Read more1.22.0 (const:unstable) ·Source§implDivAssign<&usize> forusize
implDivAssign<&usize> forusize
Source§fndiv_assign(&mut self, other: &usize)
fndiv_assign(&mut self, other: &usize)
/= operation.Read more1.79.0 (const:unstable) ·Source§implDivAssign<NonZero<usize>> forusize
implDivAssign<NonZero<usize>> forusize
Source§fndiv_assign(&mut self, other:NonZero<usize>)
fndiv_assign(&mut self, other:NonZero<usize>)
Same asself /= other.get(), but becauseother is aNonZero<_>,there’s never a runtime check for division-by-zero.
This operation rounds towards zero, truncating any fractionalpart of the exact result, and cannot panic.
1.74.0 (const:unstable) ·Source§implDivAssign<usize> forSaturating<usize>
implDivAssign<usize> forSaturating<usize>
Source§fndiv_assign(&mut self, other:usize)
fndiv_assign(&mut self, other:usize)
/= operation.Read more1.60.0 (const:unstable) ·Source§implDivAssign<usize> forWrapping<usize>
implDivAssign<usize> forWrapping<usize>
Source§fndiv_assign(&mut self, other:usize)
fndiv_assign(&mut self, other:usize)
/= operation.Read more1.8.0 (const:unstable) ·Source§implDivAssign forusize
implDivAssign forusize
Source§fndiv_assign(&mut self, other:usize)
fndiv_assign(&mut self, other:usize)
/= operation.Read more1.23.0 (const:unstable) ·Source§implFrom<usize> forAtomicUsize
implFrom<usize> forAtomicUsize
Source§fnfrom(v:usize) ->AtomicUsize
fnfrom(v:usize) ->AtomicUsize
Converts anusize into anAtomicUsize.
1.0.0 (const:unstable) ·Source§implFromStr forusize
implFromStr forusize
Source§fnfrom_str(src: &str) ->Result<usize,ParseIntError>
fnfrom_str(src: &str) ->Result<usize,ParseIntError>
Parses an integer from a string slice with decimal digits.
The characters are expected to be an optional+sign followed by only digits. Leading and trailing non-digit characters (includingwhitespace) represent an error. Underscores (which are accepted in Rust literals)also represent an error.
§See also
For parsing numbers in other bases, such as binary or hexadecimal,seefrom_str_radix.
§Examples
Trailing space returns error:
Source§typeErr =ParseIntError
typeErr =ParseIntError
Source§implFunnelShift forusize
implFunnelShift forusize
Source§unsafe fnunchecked_funnel_shl(self, rhs:usize, shift:u32) ->usize
unsafe fnunchecked_funnel_shl(self, rhs:usize, shift:u32) ->usize
core_intrinsics_fallbacks)super::unchecked_funnel_shl; we just need the trait indirection to handledifferent types since calling intrinsics with generics doesn’t work.Source§unsafe fnunchecked_funnel_shr(self, rhs:usize, shift:u32) ->usize
unsafe fnunchecked_funnel_shr(self, rhs:usize, shift:u32) ->usize
core_intrinsics_fallbacks)super::unchecked_funnel_shr; we just need the trait indirection to handledifferent types since calling intrinsics with generics doesn’t work.Source§implGetDisjointMutIndex forusize
implGetDisjointMutIndex forusize
Source§fnis_in_bounds(&self, len:usize) ->bool
fnis_in_bounds(&self, len:usize) ->bool
get_disjoint_mut_helpers)true ifself is in bounds forlen slice elements.Source§implIndex<usize> forByteString
implIndex<usize> forByteString
Source§implIndexMut<usize> forByteString
implIndexMut<usize> forByteString
1.74.0 (const:unstable) ·Source§implMulAssign<&usize> forSaturating<usize>
implMulAssign<&usize> forSaturating<usize>
Source§fnmul_assign(&mut self, other: &usize)
fnmul_assign(&mut self, other: &usize)
*= operation.Read more1.22.0 (const:unstable) ·Source§implMulAssign<&usize> forWrapping<usize>
implMulAssign<&usize> forWrapping<usize>
Source§fnmul_assign(&mut self, other: &usize)
fnmul_assign(&mut self, other: &usize)
*= operation.Read more1.22.0 (const:unstable) ·Source§implMulAssign<&usize> forusize
implMulAssign<&usize> forusize
Source§fnmul_assign(&mut self, other: &usize)
fnmul_assign(&mut self, other: &usize)
*= operation.Read more1.74.0 (const:unstable) ·Source§implMulAssign<usize> forSaturating<usize>
implMulAssign<usize> forSaturating<usize>
Source§fnmul_assign(&mut self, other:usize)
fnmul_assign(&mut self, other:usize)
*= operation.Read more1.60.0 (const:unstable) ·Source§implMulAssign<usize> forWrapping<usize>
implMulAssign<usize> forWrapping<usize>
Source§fnmul_assign(&mut self, other:usize)
fnmul_assign(&mut self, other:usize)
*= operation.Read more1.8.0 (const:unstable) ·Source§implMulAssign forusize
implMulAssign forusize
Source§fnmul_assign(&mut self, other:usize)
fnmul_assign(&mut self, other:usize)
*= operation.Read moreSource§implNumBufferTrait forusize
implNumBufferTrait forusize
1.0.0 (const:unstable) ·Source§implOrd forusize
implOrd forusize
1.0.0 (const:unstable) ·Source§implPartialOrd forusize
implPartialOrd forusize
Source§implRangePattern forusize
implRangePattern forusize
Source§constMIN:usize = usize::MIN
constMIN:usize = usize::MIN
pattern_type_range_trait #123646)MIN assoc const.1.0.0 (const:unstable) ·Source§implRem forusize
This operation satisfiesn % d == n - (n / d) * d. Theresult has the same sign as the left operand.
implRem forusize
This operation satisfiesn % d == n - (n / d) * d. Theresult has the same sign as the left operand.
§Panics
This operation will panic ifother == 0.
1.74.0 (const:unstable) ·Source§implRemAssign<&usize> forSaturating<usize>
implRemAssign<&usize> forSaturating<usize>
Source§fnrem_assign(&mut self, other: &usize)
fnrem_assign(&mut self, other: &usize)
%= operation.Read more1.22.0 (const:unstable) ·Source§implRemAssign<&usize> forWrapping<usize>
implRemAssign<&usize> forWrapping<usize>
Source§fnrem_assign(&mut self, other: &usize)
fnrem_assign(&mut self, other: &usize)
%= operation.Read more1.22.0 (const:unstable) ·Source§implRemAssign<&usize> forusize
implRemAssign<&usize> forusize
Source§fnrem_assign(&mut self, other: &usize)
fnrem_assign(&mut self, other: &usize)
%= operation.Read more1.79.0 (const:unstable) ·Source§implRemAssign<NonZero<usize>> forusize
implRemAssign<NonZero<usize>> forusize
Source§fnrem_assign(&mut self, other:NonZero<usize>)
fnrem_assign(&mut self, other:NonZero<usize>)
This operation satisfiesn % d == n - (n / d) * d, and cannot panic.
1.74.0 (const:unstable) ·Source§implRemAssign<usize> forSaturating<usize>
implRemAssign<usize> forSaturating<usize>
Source§fnrem_assign(&mut self, other:usize)
fnrem_assign(&mut self, other:usize)
%= operation.Read more1.60.0 (const:unstable) ·Source§implRemAssign<usize> forWrapping<usize>
implRemAssign<usize> forWrapping<usize>
Source§fnrem_assign(&mut self, other:usize)
fnrem_assign(&mut self, other:usize)
%= operation.Read more1.8.0 (const:unstable) ·Source§implRemAssign forusize
implRemAssign forusize
Source§fnrem_assign(&mut self, other:usize)
fnrem_assign(&mut self, other:usize)
%= operation.Read moreSource§impl<'lhs, const N:usize>Shl<&usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
impl<'lhs, const N:usize>Shl<&usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
Source§impl<'lhs, const N:usize>Shl<usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
impl<'lhs, const N:usize>Shl<usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
1.22.0 (const:unstable) ·Source§implShlAssign<&i128> forusize
implShlAssign<&i128> forusize
Source§fnshl_assign(&mut self, other: &i128)
fnshl_assign(&mut self, other: &i128)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&i16> forusize
implShlAssign<&i16> forusize
Source§fnshl_assign(&mut self, other: &i16)
fnshl_assign(&mut self, other: &i16)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&i32> forusize
implShlAssign<&i32> forusize
Source§fnshl_assign(&mut self, other: &i32)
fnshl_assign(&mut self, other: &i32)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&i64> forusize
implShlAssign<&i64> forusize
Source§fnshl_assign(&mut self, other: &i64)
fnshl_assign(&mut self, other: &i64)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&i8> forusize
implShlAssign<&i8> forusize
Source§fnshl_assign(&mut self, other: &i8)
fnshl_assign(&mut self, other: &i8)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&isize> forusize
implShlAssign<&isize> forusize
Source§fnshl_assign(&mut self, other: &isize)
fnshl_assign(&mut self, other: &isize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&u128> forusize
implShlAssign<&u128> forusize
Source§fnshl_assign(&mut self, other: &u128)
fnshl_assign(&mut self, other: &u128)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&u16> forusize
implShlAssign<&u16> forusize
Source§fnshl_assign(&mut self, other: &u16)
fnshl_assign(&mut self, other: &u16)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&u32> forusize
implShlAssign<&u32> forusize
Source§fnshl_assign(&mut self, other: &u32)
fnshl_assign(&mut self, other: &u32)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&u64> forusize
implShlAssign<&u64> forusize
Source§fnshl_assign(&mut self, other: &u64)
fnshl_assign(&mut self, other: &u64)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&u8> forusize
implShlAssign<&u8> forusize
Source§fnshl_assign(&mut self, other: &u8)
fnshl_assign(&mut self, other: &u8)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<i128>
implShlAssign<&usize> forWrapping<i128>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<i16>
implShlAssign<&usize> forWrapping<i16>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<i32>
implShlAssign<&usize> forWrapping<i32>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<i64>
implShlAssign<&usize> forWrapping<i64>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<i8>
implShlAssign<&usize> forWrapping<i8>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<isize>
implShlAssign<&usize> forWrapping<isize>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<u128>
implShlAssign<&usize> forWrapping<u128>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<u16>
implShlAssign<&usize> forWrapping<u16>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<u32>
implShlAssign<&usize> forWrapping<u32>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<u64>
implShlAssign<&usize> forWrapping<u64>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<u8>
implShlAssign<&usize> forWrapping<u8>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forWrapping<usize>
implShlAssign<&usize> forWrapping<usize>
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> fori128
implShlAssign<&usize> fori128
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> fori16
implShlAssign<&usize> fori16
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> fori32
implShlAssign<&usize> fori32
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> fori64
implShlAssign<&usize> fori64
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> fori8
implShlAssign<&usize> fori8
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forisize
implShlAssign<&usize> forisize
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> foru128
implShlAssign<&usize> foru128
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> foru16
implShlAssign<&usize> foru16
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> foru32
implShlAssign<&usize> foru32
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> foru64
implShlAssign<&usize> foru64
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> foru8
implShlAssign<&usize> foru8
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.22.0 (const:unstable) ·Source§implShlAssign<&usize> forusize
implShlAssign<&usize> forusize
Source§fnshl_assign(&mut self, other: &usize)
fnshl_assign(&mut self, other: &usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<i128> forusize
implShlAssign<i128> forusize
Source§fnshl_assign(&mut self, other:i128)
fnshl_assign(&mut self, other:i128)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<i16> forusize
implShlAssign<i16> forusize
Source§fnshl_assign(&mut self, other:i16)
fnshl_assign(&mut self, other:i16)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<i32> forusize
implShlAssign<i32> forusize
Source§fnshl_assign(&mut self, other:i32)
fnshl_assign(&mut self, other:i32)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<i64> forusize
implShlAssign<i64> forusize
Source§fnshl_assign(&mut self, other:i64)
fnshl_assign(&mut self, other:i64)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<i8> forusize
implShlAssign<i8> forusize
Source§fnshl_assign(&mut self, other:i8)
fnshl_assign(&mut self, other:i8)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<isize> forusize
implShlAssign<isize> forusize
Source§fnshl_assign(&mut self, other:isize)
fnshl_assign(&mut self, other:isize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<u128> forusize
implShlAssign<u128> forusize
Source§fnshl_assign(&mut self, other:u128)
fnshl_assign(&mut self, other:u128)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<u16> forusize
implShlAssign<u16> forusize
Source§fnshl_assign(&mut self, other:u16)
fnshl_assign(&mut self, other:u16)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<u32> forusize
implShlAssign<u32> forusize
Source§fnshl_assign(&mut self, other:u32)
fnshl_assign(&mut self, other:u32)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<u64> forusize
implShlAssign<u64> forusize
Source§fnshl_assign(&mut self, other:u64)
fnshl_assign(&mut self, other:u64)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<u8> forusize
implShlAssign<u8> forusize
Source§fnshl_assign(&mut self, other:u8)
fnshl_assign(&mut self, other:u8)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<i128>
implShlAssign<usize> forWrapping<i128>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<i16>
implShlAssign<usize> forWrapping<i16>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<i32>
implShlAssign<usize> forWrapping<i32>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<i64>
implShlAssign<usize> forWrapping<i64>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<i8>
implShlAssign<usize> forWrapping<i8>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<isize>
implShlAssign<usize> forWrapping<isize>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<u128>
implShlAssign<usize> forWrapping<u128>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<u16>
implShlAssign<usize> forWrapping<u16>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<u32>
implShlAssign<usize> forWrapping<u32>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<u64>
implShlAssign<usize> forWrapping<u64>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<u8>
implShlAssign<usize> forWrapping<u8>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forWrapping<usize>
implShlAssign<usize> forWrapping<usize>
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> fori128
implShlAssign<usize> fori128
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> fori16
implShlAssign<usize> fori16
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> fori32
implShlAssign<usize> fori32
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> fori64
implShlAssign<usize> fori64
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> fori8
implShlAssign<usize> fori8
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> forisize
implShlAssign<usize> forisize
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> foru128
implShlAssign<usize> foru128
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> foru16
implShlAssign<usize> foru16
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> foru32
implShlAssign<usize> foru32
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> foru64
implShlAssign<usize> foru64
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign<usize> foru8
implShlAssign<usize> foru8
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read more1.8.0 (const:unstable) ·Source§implShlAssign forusize
implShlAssign forusize
Source§fnshl_assign(&mut self, other:usize)
fnshl_assign(&mut self, other:usize)
<<= operation.Read moreSource§impl<'lhs, const N:usize>Shr<&usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
impl<'lhs, const N:usize>Shr<&usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
Source§impl<'lhs, const N:usize>Shr<usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
impl<'lhs, const N:usize>Shr<usize> for &'lhsSimd<usize, N>whereLaneCount<N>:SupportedLaneCount,
1.22.0 (const:unstable) ·Source§implShrAssign<&i128> forusize
implShrAssign<&i128> forusize
Source§fnshr_assign(&mut self, other: &i128)
fnshr_assign(&mut self, other: &i128)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&i16> forusize
implShrAssign<&i16> forusize
Source§fnshr_assign(&mut self, other: &i16)
fnshr_assign(&mut self, other: &i16)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&i32> forusize
implShrAssign<&i32> forusize
Source§fnshr_assign(&mut self, other: &i32)
fnshr_assign(&mut self, other: &i32)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&i64> forusize
implShrAssign<&i64> forusize
Source§fnshr_assign(&mut self, other: &i64)
fnshr_assign(&mut self, other: &i64)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&i8> forusize
implShrAssign<&i8> forusize
Source§fnshr_assign(&mut self, other: &i8)
fnshr_assign(&mut self, other: &i8)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&isize> forusize
implShrAssign<&isize> forusize
Source§fnshr_assign(&mut self, other: &isize)
fnshr_assign(&mut self, other: &isize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&u128> forusize
implShrAssign<&u128> forusize
Source§fnshr_assign(&mut self, other: &u128)
fnshr_assign(&mut self, other: &u128)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&u16> forusize
implShrAssign<&u16> forusize
Source§fnshr_assign(&mut self, other: &u16)
fnshr_assign(&mut self, other: &u16)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&u32> forusize
implShrAssign<&u32> forusize
Source§fnshr_assign(&mut self, other: &u32)
fnshr_assign(&mut self, other: &u32)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&u64> forusize
implShrAssign<&u64> forusize
Source§fnshr_assign(&mut self, other: &u64)
fnshr_assign(&mut self, other: &u64)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&u8> forusize
implShrAssign<&u8> forusize
Source§fnshr_assign(&mut self, other: &u8)
fnshr_assign(&mut self, other: &u8)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<i128>
implShrAssign<&usize> forWrapping<i128>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<i16>
implShrAssign<&usize> forWrapping<i16>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<i32>
implShrAssign<&usize> forWrapping<i32>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<i64>
implShrAssign<&usize> forWrapping<i64>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<i8>
implShrAssign<&usize> forWrapping<i8>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<isize>
implShrAssign<&usize> forWrapping<isize>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<u128>
implShrAssign<&usize> forWrapping<u128>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<u16>
implShrAssign<&usize> forWrapping<u16>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<u32>
implShrAssign<&usize> forWrapping<u32>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<u64>
implShrAssign<&usize> forWrapping<u64>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<u8>
implShrAssign<&usize> forWrapping<u8>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forWrapping<usize>
implShrAssign<&usize> forWrapping<usize>
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> fori128
implShrAssign<&usize> fori128
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> fori16
implShrAssign<&usize> fori16
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> fori32
implShrAssign<&usize> fori32
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> fori64
implShrAssign<&usize> fori64
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> fori8
implShrAssign<&usize> fori8
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forisize
implShrAssign<&usize> forisize
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> foru128
implShrAssign<&usize> foru128
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> foru16
implShrAssign<&usize> foru16
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> foru32
implShrAssign<&usize> foru32
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> foru64
implShrAssign<&usize> foru64
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> foru8
implShrAssign<&usize> foru8
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.22.0 (const:unstable) ·Source§implShrAssign<&usize> forusize
implShrAssign<&usize> forusize
Source§fnshr_assign(&mut self, other: &usize)
fnshr_assign(&mut self, other: &usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<i128> forusize
implShrAssign<i128> forusize
Source§fnshr_assign(&mut self, other:i128)
fnshr_assign(&mut self, other:i128)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<i16> forusize
implShrAssign<i16> forusize
Source§fnshr_assign(&mut self, other:i16)
fnshr_assign(&mut self, other:i16)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<i32> forusize
implShrAssign<i32> forusize
Source§fnshr_assign(&mut self, other:i32)
fnshr_assign(&mut self, other:i32)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<i64> forusize
implShrAssign<i64> forusize
Source§fnshr_assign(&mut self, other:i64)
fnshr_assign(&mut self, other:i64)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<i8> forusize
implShrAssign<i8> forusize
Source§fnshr_assign(&mut self, other:i8)
fnshr_assign(&mut self, other:i8)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<isize> forusize
implShrAssign<isize> forusize
Source§fnshr_assign(&mut self, other:isize)
fnshr_assign(&mut self, other:isize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<u128> forusize
implShrAssign<u128> forusize
Source§fnshr_assign(&mut self, other:u128)
fnshr_assign(&mut self, other:u128)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<u16> forusize
implShrAssign<u16> forusize
Source§fnshr_assign(&mut self, other:u16)
fnshr_assign(&mut self, other:u16)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<u32> forusize
implShrAssign<u32> forusize
Source§fnshr_assign(&mut self, other:u32)
fnshr_assign(&mut self, other:u32)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<u64> forusize
implShrAssign<u64> forusize
Source§fnshr_assign(&mut self, other:u64)
fnshr_assign(&mut self, other:u64)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<u8> forusize
implShrAssign<u8> forusize
Source§fnshr_assign(&mut self, other:u8)
fnshr_assign(&mut self, other:u8)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<i128>
implShrAssign<usize> forWrapping<i128>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<i16>
implShrAssign<usize> forWrapping<i16>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<i32>
implShrAssign<usize> forWrapping<i32>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<i64>
implShrAssign<usize> forWrapping<i64>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<i8>
implShrAssign<usize> forWrapping<i8>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<isize>
implShrAssign<usize> forWrapping<isize>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<u128>
implShrAssign<usize> forWrapping<u128>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<u16>
implShrAssign<usize> forWrapping<u16>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<u32>
implShrAssign<usize> forWrapping<u32>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<u64>
implShrAssign<usize> forWrapping<u64>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<u8>
implShrAssign<usize> forWrapping<u8>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forWrapping<usize>
implShrAssign<usize> forWrapping<usize>
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> fori128
implShrAssign<usize> fori128
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> fori16
implShrAssign<usize> fori16
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> fori32
implShrAssign<usize> fori32
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> fori64
implShrAssign<usize> fori64
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> fori8
implShrAssign<usize> fori8
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> forisize
implShrAssign<usize> forisize
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> foru128
implShrAssign<usize> foru128
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> foru16
implShrAssign<usize> foru16
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> foru32
implShrAssign<usize> foru32
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> foru64
implShrAssign<usize> foru64
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign<usize> foru8
implShrAssign<usize> foru8
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read more1.8.0 (const:unstable) ·Source§implShrAssign forusize
implShrAssign forusize
Source§fnshr_assign(&mut self, other:usize)
fnshr_assign(&mut self, other:usize)
>>= operation.Read moreSource§implSimdElement forusize
implSimdElement forusize
1.15.0 (const:unstable) ·Source§impl<T>SliceIndex<[T]> forusize
The methodsindex andindex_mut panic if the index is out of bounds.
impl<T>SliceIndex<[T]> forusize
The methodsindex andindex_mut panic if the index is out of bounds.
Source§fnget(self, slice: &[T]) ->Option<&T>
fnget(self, slice: &[T]) ->Option<&T>
slice_index_methods)Source§fnget_mut(self, slice: &mut[T]) ->Option<&mut T>
fnget_mut(self, slice: &mut[T]) ->Option<&mut T>
slice_index_methods)Source§unsafe fnget_unchecked(self, slice:*const[T]) ->*const T
unsafe fnget_unchecked(self, slice:*const[T]) ->*const T
slice_index_methods)Source§unsafe fnget_unchecked_mut(self, slice:*mut[T]) ->*mut T
unsafe fnget_unchecked_mut(self, slice:*mut[T]) ->*mut T
slice_index_methods)Source§implSliceIndex<ByteStr> forusize
implSliceIndex<ByteStr> forusize
Source§fnget(self, slice: &ByteStr) ->Option<&<usize asSliceIndex<ByteStr>>::Output>
fnget(self, slice: &ByteStr) ->Option<&<usize asSliceIndex<ByteStr>>::Output>
slice_index_methods)Source§fnget_mut( self, slice: &mutByteStr,) ->Option<&mut <usize asSliceIndex<ByteStr>>::Output>
fnget_mut( self, slice: &mutByteStr,) ->Option<&mut <usize asSliceIndex<ByteStr>>::Output>
slice_index_methods)Source§unsafe fnget_unchecked( self, slice:*constByteStr,) ->*const<usize asSliceIndex<ByteStr>>::Output
unsafe fnget_unchecked( self, slice:*constByteStr,) ->*const<usize asSliceIndex<ByteStr>>::Output
slice_index_methods)Source§unsafe fnget_unchecked_mut( self, slice:*mutByteStr,) ->*mut<usize asSliceIndex<ByteStr>>::Output
unsafe fnget_unchecked_mut( self, slice:*mutByteStr,) ->*mut<usize asSliceIndex<ByteStr>>::Output
slice_index_methods)Source§implStep forusize
implStep forusize
Source§fnforward(start:usize, n:usize) ->usize
fnforward(start:usize, n:usize) ->usize
step_trait #42168)Source§fnbackward(start:usize, n:usize) ->usize
fnbackward(start:usize, n:usize) ->usize
step_trait #42168)Source§unsafe fnforward_unchecked(start:usize, n:usize) ->usize
unsafe fnforward_unchecked(start:usize, n:usize) ->usize
step_trait #42168)Source§unsafe fnbackward_unchecked(start:usize, n:usize) ->usize
unsafe fnbackward_unchecked(start:usize, n:usize) ->usize
step_trait #42168)Source§fnsteps_between(start: &usize, end: &usize) -> (usize,Option<usize>)
fnsteps_between(start: &usize, end: &usize) -> (usize,Option<usize>)
step_trait #42168)start toendlikeIterator::size_hint().Read more1.74.0 (const:unstable) ·Source§implSubAssign<&usize> forSaturating<usize>
implSubAssign<&usize> forSaturating<usize>
Source§fnsub_assign(&mut self, other: &usize)
fnsub_assign(&mut self, other: &usize)
-= operation.Read more1.22.0 (const:unstable) ·Source§implSubAssign<&usize> forWrapping<usize>
implSubAssign<&usize> forWrapping<usize>
Source§fnsub_assign(&mut self, other: &usize)
fnsub_assign(&mut self, other: &usize)
-= operation.Read more1.22.0 (const:unstable) ·Source§implSubAssign<&usize> forusize
implSubAssign<&usize> forusize
Source§fnsub_assign(&mut self, other: &usize)
fnsub_assign(&mut self, other: &usize)
-= operation.Read more1.74.0 (const:unstable) ·Source§implSubAssign<usize> forSaturating<usize>
implSubAssign<usize> forSaturating<usize>
Source§fnsub_assign(&mut self, other:usize)
fnsub_assign(&mut self, other:usize)
-= operation.Read more1.60.0 (const:unstable) ·Source§implSubAssign<usize> forWrapping<usize>
implSubAssign<usize> forWrapping<usize>
Source§fnsub_assign(&mut self, other:usize)
fnsub_assign(&mut self, other:usize)
-= operation.Read more1.8.0 (const:unstable) ·Source§implSubAssign forusize
implSubAssign forusize
Source§fnsub_assign(&mut self, other:usize)
fnsub_assign(&mut self, other:usize)
-= operation.Read more1.34.0 (const:unstable) ·Source§implTryFrom<i128> forusize
implTryFrom<i128> forusize
Source§fntry_from(u:i128) ->Result<usize, <usize asTryFrom<i128>>::Error>
fntry_from(u:i128) ->Result<usize, <usize asTryFrom<i128>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<i16> forusize
implTryFrom<i16> forusize
Source§fntry_from(u:i16) ->Result<usize, <usize asTryFrom<i16>>::Error>
fntry_from(u:i16) ->Result<usize, <usize asTryFrom<i16>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<i32> forusize
implTryFrom<i32> forusize
Source§fntry_from(u:i32) ->Result<usize, <usize asTryFrom<i32>>::Error>
fntry_from(u:i32) ->Result<usize, <usize asTryFrom<i32>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<i64> forusize
implTryFrom<i64> forusize
Source§fntry_from(u:i64) ->Result<usize, <usize asTryFrom<i64>>::Error>
fntry_from(u:i64) ->Result<usize, <usize asTryFrom<i64>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<i8> forusize
implTryFrom<i8> forusize
Source§fntry_from(u:i8) ->Result<usize, <usize asTryFrom<i8>>::Error>
fntry_from(u:i8) ->Result<usize, <usize asTryFrom<i8>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<isize> forusize
implTryFrom<isize> forusize
Source§fntry_from(u:isize) ->Result<usize, <usize asTryFrom<isize>>::Error>
fntry_from(u:isize) ->Result<usize, <usize asTryFrom<isize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<u128> forusize
implTryFrom<u128> forusize
Source§fntry_from(u:u128) ->Result<usize, <usize asTryFrom<u128>>::Error>
fntry_from(u:u128) ->Result<usize, <usize asTryFrom<u128>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<u32> forusize
implTryFrom<u32> forusize
Source§fntry_from(value:u32) ->Result<usize, <usize asTryFrom<u32>>::Error>
fntry_from(value:u32) ->Result<usize, <usize asTryFrom<u32>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<u64> forusize
implTryFrom<u64> forusize
Source§fntry_from(value:u64) ->Result<usize, <usize asTryFrom<u64>>::Error>
fntry_from(value:u64) ->Result<usize, <usize asTryFrom<u64>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> fori128
implTryFrom<usize> fori128
Source§fntry_from(value:usize) ->Result<i128, <i128 asTryFrom<usize>>::Error>
fntry_from(value:usize) ->Result<i128, <i128 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> fori16
implTryFrom<usize> fori16
Source§fntry_from(u:usize) ->Result<i16, <i16 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<i16, <i16 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> fori32
implTryFrom<usize> fori32
Source§fntry_from(u:usize) ->Result<i32, <i32 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<i32, <i32 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> fori64
implTryFrom<usize> fori64
Source§fntry_from(u:usize) ->Result<i64, <i64 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<i64, <i64 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> fori8
implTryFrom<usize> fori8
Source§fntry_from(u:usize) ->Result<i8, <i8 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<i8, <i8 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> forisize
implTryFrom<usize> forisize
Source§fntry_from(u:usize) ->Result<isize, <isize asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<isize, <isize asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> foru128
implTryFrom<usize> foru128
Source§fntry_from(value:usize) ->Result<u128, <u128 asTryFrom<usize>>::Error>
fntry_from(value:usize) ->Result<u128, <u128 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> foru16
implTryFrom<usize> foru16
Source§fntry_from(u:usize) ->Result<u16, <u16 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<u16, <u16 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> foru32
implTryFrom<usize> foru32
Source§fntry_from(u:usize) ->Result<u32, <u32 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<u32, <u32 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> foru64
implTryFrom<usize> foru64
Source§fntry_from(value:usize) ->Result<u64, <u64 asTryFrom<usize>>::Error>
fntry_from(value:usize) ->Result<u64, <u64 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.
Source§typeError =TryFromIntError
typeError =TryFromIntError
1.34.0 (const:unstable) ·Source§implTryFrom<usize> foru8
implTryFrom<usize> foru8
Source§fntry_from(u:usize) ->Result<u8, <u8 asTryFrom<usize>>::Error>
fntry_from(u:usize) ->Result<u8, <u8 asTryFrom<usize>>::Error>
Tries to create the target number type from a sourcenumber type. This returns an error if the source valueis outside of the range of the target type.