( #[$stability: meta] ( $( $Trait: ident ),+ ) for $Ty: ident ) => {
$(
#[$stability]
- #[allow(deprecated)]
impl fmt::$Trait for $Ty {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
}
macro_rules! nonzero_integers {
- ( #[$stability: meta] #[$deprecation: meta] $( $Ty: ident($Int: ty); )+ ) => {
+ ( #[$stability: meta] $( $Ty: ident($Int: ty); )+ ) => {
$(
/// An integer that is known not to equal zero.
///
/// assert_eq!(size_of::<Option<std::num::NonZeroU32>>(), size_of::<u32>());
/// ```
#[$stability]
- #[$deprecation]
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct $Ty(NonZero<$Int>);
nonzero_integers! {
#[unstable(feature = "nonzero", issue = "49137")]
- #[allow(deprecated)] // Redundant, works around "error: inconsistent lockstep iteration"
NonZeroU8(u8);
NonZeroU16(u16);
NonZeroU32(u32);
NonZeroUsize(usize);
}
-nonzero_integers! {
- #[unstable(feature = "nonzero", issue = "49137")]
- #[rustc_deprecated(since = "1.26.0", reason = "\
- signed non-zero integers are considered for removal due to lack of known use cases. \
- If you’re using them, please comment on https://github.com/rust-lang/rust/issues/49137")]
- NonZeroI8(i8);
- NonZeroI16(i16);
- NonZeroI32(i32);
- NonZeroI64(i64);
- NonZeroI128(i128);
- NonZeroIsize(isize);
-}
-
/// Provides intentionally-wrapped arithmetic on `T`.
///
/// Operations like `+` on `u32` values is intended to never overflow,
#[unstable(feature = "nonzero", issue = "49137")]
#[allow(deprecated)]
-pub use core::num::{
- NonZeroU8, NonZeroI8, NonZeroU16, NonZeroI16, NonZeroU32, NonZeroI32,
- NonZeroU64, NonZeroI64, NonZeroU128, NonZeroI128, NonZeroUsize, NonZeroIsize,
-};
+pub use core::num::{NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroUsize};
#[cfg(test)] use fmt;
#[cfg(test)] use ops::{Add, Sub, Mul, Div, Rem};