Skip to content

Commit 89d9ca9

Browse files
committed
Stabilize num::NonZeroU*
Tracking issue: #49137
1 parent c536639 commit 89d9ca9

File tree

11 files changed

+8
-21
lines changed

11 files changed

+8
-21
lines changed

src/liballoc/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@
102102
#![feature(lang_items)]
103103
#![feature(libc)]
104104
#![feature(needs_allocator)]
105-
#![feature(nonzero)]
106105
#![feature(optin_builtin_traits)]
107106
#![feature(pattern)]
108107
#![feature(pin)]

src/libcore/num/mod.rs

+7-9
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ use ops;
2121
use str::FromStr;
2222

2323
macro_rules! impl_nonzero_fmt {
24-
( #[$stability: meta] ( $( $Trait: ident ),+ ) for $Ty: ident ) => {
24+
( ( $( $Trait: ident ),+ ) for $Ty: ident ) => {
2525
$(
26-
#[$stability]
26+
#[stable(feature = "nonzero", since = "1.28.0")]
2727
impl fmt::$Trait for $Ty {
2828
#[inline]
2929
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
@@ -35,7 +35,7 @@ macro_rules! impl_nonzero_fmt {
3535
}
3636

3737
macro_rules! nonzero_integers {
38-
( #[$stability: meta] $( $Ty: ident($Int: ty); )+ ) => {
38+
( $( $Ty: ident($Int: ty); )+ ) => {
3939
$(
4040
/// An integer that is known not to equal zero.
4141
///
@@ -46,7 +46,7 @@ macro_rules! nonzero_integers {
4646
/// use std::mem::size_of;
4747
/// assert_eq!(size_of::<Option<std::num::NonZeroU32>>(), size_of::<u32>());
4848
/// ```
49-
#[$stability]
49+
#[stable(feature = "nonzero", since = "1.28.0")]
5050
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
5151
pub struct $Ty(NonZero<$Int>);
5252

@@ -56,14 +56,14 @@ macro_rules! nonzero_integers {
5656
/// # Safety
5757
///
5858
/// The value must not be zero.
59-
#[$stability]
59+
#[stable(feature = "nonzero", since = "1.28.0")]
6060
#[inline]
6161
pub const unsafe fn new_unchecked(n: $Int) -> Self {
6262
$Ty(NonZero(n))
6363
}
6464

6565
/// Create a non-zero if the given value is not zero.
66-
#[$stability]
66+
#[stable(feature = "nonzero", since = "1.28.0")]
6767
#[inline]
6868
pub fn new(n: $Int) -> Option<Self> {
6969
if n != 0 {
@@ -74,7 +74,7 @@ macro_rules! nonzero_integers {
7474
}
7575

7676
/// Returns the value as a primitive type.
77-
#[$stability]
77+
#[stable(feature = "nonzero", since = "1.28.0")]
7878
#[inline]
7979
pub fn get(self) -> $Int {
8080
self.0 .0
@@ -83,15 +83,13 @@ macro_rules! nonzero_integers {
8383
}
8484

8585
impl_nonzero_fmt! {
86-
#[$stability]
8786
(Debug, Display, Binary, Octal, LowerHex, UpperHex) for $Ty
8887
}
8988
)+
9089
}
9190
}
9291

9392
nonzero_integers! {
94-
#[unstable(feature = "nonzero", issue = "49137")]
9593
NonZeroU8(u8);
9694
NonZeroU16(u16);
9795
NonZeroU32(u32);

src/libcore/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#![feature(iterator_step_by)]
2727
#![feature(iterator_flatten)]
2828
#![feature(iterator_repeat_with)]
29-
#![feature(nonzero)]
3029
#![feature(pattern)]
3130
#![feature(range_is_empty)]
3231
#![feature(raw)]

src/librustc/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
#![feature(never_type)]
5757
#![feature(exhaustive_patterns)]
5858
#![feature(non_exhaustive)]
59-
#![feature(nonzero)]
6059
#![feature(proc_macro_internals)]
6160
#![feature(quote)]
6261
#![feature(optin_builtin_traits)]

src/librustc_data_structures/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
html_root_url = "https://doc.rust-lang.org/nightly/")]
2222

2323
#![feature(collections_range)]
24-
#![feature(nonzero)]
2524
#![feature(unboxed_closures)]
2625
#![feature(fn_traits)]
2726
#![feature(unsize)]

src/librustc_mir/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ Rust MIR: a lowered representation of Rust. Also: an experiment!
3030
#![feature(exhaustive_patterns)]
3131
#![feature(range_contains)]
3232
#![feature(rustc_diagnostic_macros)]
33-
#![feature(nonzero)]
3433
#![feature(inclusive_range_methods)]
3534
#![feature(crate_visibility_modifier)]
3635
#![feature(never_type)]

src/libstd/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@
277277
#![feature(needs_panic_runtime)]
278278
#![feature(never_type)]
279279
#![feature(exhaustive_patterns)]
280-
#![feature(nonzero)]
281280
#![feature(num_bits_bytes)]
282281
#![feature(old_wrapping)]
283282
#![feature(on_unimplemented)]

src/libstd/num.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ pub use core::num::{FpCategory, ParseIntError, ParseFloatError, TryFromIntError}
2121
#[stable(feature = "rust1", since = "1.0.0")]
2222
pub use core::num::Wrapping;
2323

24-
#[unstable(feature = "nonzero", issue = "49137")]
25-
#[allow(deprecated)]
24+
#[stable(feature = "nonzero", since = "1.28.0")]
2625
pub use core::num::{NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroUsize};
2726

2827
#[cfg(test)] use fmt;

src/test/run-pass/ctfe/tuple-struct-constructors.rs

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
// https://github.com/rust-lang/rust/issues/41898
1212

13-
#![feature(nonzero)]
1413
use std::num::NonZeroU64;
1514

1615
fn main() {

src/test/run-pass/enum-null-pointer-opt.rs

-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![feature(nonzero, core)]
12-
1311
use std::mem::size_of;
1412
use std::num::NonZeroUsize;
1513
use std::ptr::NonNull;

src/test/ui/print_type_sizes/niche-filling.rs

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
// padding and overall computed sizes can be quite different.
2323

2424
#![feature(start)]
25-
#![feature(nonzero)]
2625
#![allow(dead_code)]
2726

2827
use std::num::NonZeroU32;

0 commit comments

Comments
 (0)