Rollup merge of #136019 - scottmcm:alias-unchecked-div, r=Mark-Simulacrum
Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls Inspired by https://github.com/rust-lang/libs-team/issues/526, if people are looking for `unchecked_div`, point them to `u32: Div<NonZero<u32>>` and friends which do no runtime checks -- and are safe! -- rather than today's behaviour of [the intrinsic being the top result](https://doc.rust-lang.org/std/?search=unchecked_div). 
This commit is contained in:
commit
359c5047ab
1 changed files with 7 additions and 0 deletions
|
|
@ -1185,8 +1185,12 @@ macro_rules! nonzero_integer_signedness_dependent_impls {
|
|||
impl Div<NonZero<$Int>> for $Int {
|
||||
type Output = $Int;
|
||||
|
||||
/// Same as `self / other.get()`, but because `other` is a `NonZero<_>`,
|
||||
/// there's never a runtime check for division-by-zero.
|
||||
///
|
||||
/// This operation rounds towards zero, truncating any fractional
|
||||
/// part of the exact result, and cannot panic.
|
||||
#[doc(alias = "unchecked_div")]
|
||||
#[inline]
|
||||
fn div(self, other: NonZero<$Int>) -> $Int {
|
||||
// SAFETY: Division by zero is checked because `other` is non-zero,
|
||||
|
|
@ -1197,6 +1201,9 @@ macro_rules! nonzero_integer_signedness_dependent_impls {
|
|||
|
||||
#[stable(feature = "nonzero_div_assign", since = "1.79.0")]
|
||||
impl DivAssign<NonZero<$Int>> for $Int {
|
||||
/// Same as `self /= other.get()`, but because `other` is a `NonZero<_>`,
|
||||
/// there's never a runtime check for division-by-zero.
|
||||
///
|
||||
/// This operation rounds towards zero, truncating any fractional
|
||||
/// part of the exact result, and cannot panic.
|
||||
#[inline]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue