1
Fork 0

Stabilize num::NonZeroU*

Tracking issue: https://github.com/rust-lang/rust/issues/49137
This commit is contained in:
Simon Sapin 2018-05-16 18:07:35 +02:00
parent c536639c1e
commit 89d9ca9b50
11 changed files with 8 additions and 21 deletions

View file

@ -102,7 +102,6 @@
#![feature(lang_items)] #![feature(lang_items)]
#![feature(libc)] #![feature(libc)]
#![feature(needs_allocator)] #![feature(needs_allocator)]
#![feature(nonzero)]
#![feature(optin_builtin_traits)] #![feature(optin_builtin_traits)]
#![feature(pattern)] #![feature(pattern)]
#![feature(pin)] #![feature(pin)]

View file

@ -21,9 +21,9 @@ use ops;
use str::FromStr; use str::FromStr;
macro_rules! impl_nonzero_fmt { macro_rules! impl_nonzero_fmt {
( #[$stability: meta] ( $( $Trait: ident ),+ ) for $Ty: ident ) => { ( ( $( $Trait: ident ),+ ) for $Ty: ident ) => {
$( $(
#[$stability] #[stable(feature = "nonzero", since = "1.28.0")]
impl fmt::$Trait for $Ty { impl fmt::$Trait for $Ty {
#[inline] #[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
@ -35,7 +35,7 @@ macro_rules! impl_nonzero_fmt {
} }
macro_rules! nonzero_integers { macro_rules! nonzero_integers {
( #[$stability: meta] $( $Ty: ident($Int: ty); )+ ) => { ( $( $Ty: ident($Int: ty); )+ ) => {
$( $(
/// An integer that is known not to equal zero. /// An integer that is known not to equal zero.
/// ///
@ -46,7 +46,7 @@ macro_rules! nonzero_integers {
/// use std::mem::size_of; /// use std::mem::size_of;
/// assert_eq!(size_of::<Option<std::num::NonZeroU32>>(), size_of::<u32>()); /// assert_eq!(size_of::<Option<std::num::NonZeroU32>>(), size_of::<u32>());
/// ``` /// ```
#[$stability] #[stable(feature = "nonzero", since = "1.28.0")]
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct $Ty(NonZero<$Int>); pub struct $Ty(NonZero<$Int>);
@ -56,14 +56,14 @@ macro_rules! nonzero_integers {
/// # Safety /// # Safety
/// ///
/// The value must not be zero. /// The value must not be zero.
#[$stability] #[stable(feature = "nonzero", since = "1.28.0")]
#[inline] #[inline]
pub const unsafe fn new_unchecked(n: $Int) -> Self { pub const unsafe fn new_unchecked(n: $Int) -> Self {
$Ty(NonZero(n)) $Ty(NonZero(n))
} }
/// Create a non-zero if the given value is not zero. /// Create a non-zero if the given value is not zero.
#[$stability] #[stable(feature = "nonzero", since = "1.28.0")]
#[inline] #[inline]
pub fn new(n: $Int) -> Option<Self> { pub fn new(n: $Int) -> Option<Self> {
if n != 0 { if n != 0 {
@ -74,7 +74,7 @@ macro_rules! nonzero_integers {
} }
/// Returns the value as a primitive type. /// Returns the value as a primitive type.
#[$stability] #[stable(feature = "nonzero", since = "1.28.0")]
#[inline] #[inline]
pub fn get(self) -> $Int { pub fn get(self) -> $Int {
self.0 .0 self.0 .0
@ -83,7 +83,6 @@ macro_rules! nonzero_integers {
} }
impl_nonzero_fmt! { impl_nonzero_fmt! {
#[$stability]
(Debug, Display, Binary, Octal, LowerHex, UpperHex) for $Ty (Debug, Display, Binary, Octal, LowerHex, UpperHex) for $Ty
} }
)+ )+
@ -91,7 +90,6 @@ macro_rules! nonzero_integers {
} }
nonzero_integers! { nonzero_integers! {
#[unstable(feature = "nonzero", issue = "49137")]
NonZeroU8(u8); NonZeroU8(u8);
NonZeroU16(u16); NonZeroU16(u16);
NonZeroU32(u32); NonZeroU32(u32);

View file

@ -26,7 +26,6 @@
#![feature(iterator_step_by)] #![feature(iterator_step_by)]
#![feature(iterator_flatten)] #![feature(iterator_flatten)]
#![feature(iterator_repeat_with)] #![feature(iterator_repeat_with)]
#![feature(nonzero)]
#![feature(pattern)] #![feature(pattern)]
#![feature(range_is_empty)] #![feature(range_is_empty)]
#![feature(raw)] #![feature(raw)]

View file

@ -56,7 +56,6 @@
#![feature(never_type)] #![feature(never_type)]
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(non_exhaustive)] #![feature(non_exhaustive)]
#![feature(nonzero)]
#![feature(proc_macro_internals)] #![feature(proc_macro_internals)]
#![feature(quote)] #![feature(quote)]
#![feature(optin_builtin_traits)] #![feature(optin_builtin_traits)]

View file

@ -21,7 +21,6 @@
html_root_url = "https://doc.rust-lang.org/nightly/")] html_root_url = "https://doc.rust-lang.org/nightly/")]
#![feature(collections_range)] #![feature(collections_range)]
#![feature(nonzero)]
#![feature(unboxed_closures)] #![feature(unboxed_closures)]
#![feature(fn_traits)] #![feature(fn_traits)]
#![feature(unsize)] #![feature(unsize)]

View file

@ -30,7 +30,6 @@ Rust MIR: a lowered representation of Rust. Also: an experiment!
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(range_contains)] #![feature(range_contains)]
#![feature(rustc_diagnostic_macros)] #![feature(rustc_diagnostic_macros)]
#![feature(nonzero)]
#![feature(inclusive_range_methods)] #![feature(inclusive_range_methods)]
#![feature(crate_visibility_modifier)] #![feature(crate_visibility_modifier)]
#![feature(never_type)] #![feature(never_type)]

View file

@ -277,7 +277,6 @@
#![feature(needs_panic_runtime)] #![feature(needs_panic_runtime)]
#![feature(never_type)] #![feature(never_type)]
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(nonzero)]
#![feature(num_bits_bytes)] #![feature(num_bits_bytes)]
#![feature(old_wrapping)] #![feature(old_wrapping)]
#![feature(on_unimplemented)] #![feature(on_unimplemented)]

View file

@ -21,8 +21,7 @@ pub use core::num::{FpCategory, ParseIntError, ParseFloatError, TryFromIntError}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub use core::num::Wrapping; pub use core::num::Wrapping;
#[unstable(feature = "nonzero", issue = "49137")] #[stable(feature = "nonzero", since = "1.28.0")]
#[allow(deprecated)]
pub use core::num::{NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroUsize}; pub use core::num::{NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroUsize};
#[cfg(test)] use fmt; #[cfg(test)] use fmt;

View file

@ -10,7 +10,6 @@
// https://github.com/rust-lang/rust/issues/41898 // https://github.com/rust-lang/rust/issues/41898
#![feature(nonzero)]
use std::num::NonZeroU64; use std::num::NonZeroU64;
fn main() { fn main() {

View file

@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
#![feature(nonzero, core)]
use std::mem::size_of; use std::mem::size_of;
use std::num::NonZeroUsize; use std::num::NonZeroUsize;
use std::ptr::NonNull; use std::ptr::NonNull;

View file

@ -22,7 +22,6 @@
// padding and overall computed sizes can be quite different. // padding and overall computed sizes can be quite different.
#![feature(start)] #![feature(start)]
#![feature(nonzero)]
#![allow(dead_code)] #![allow(dead_code)]
use std::num::NonZeroU32; use std::num::NonZeroU32;