Skip to content

Commit 74ce864

Browse files
Stabilize int_format_into feature
1 parent 280b446 commit 74ce864

3 files changed

Lines changed: 12 additions & 14 deletions

File tree

library/core/src/fmt/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub enum Alignment {
3636
Center,
3737
}
3838

39-
#[unstable(feature = "int_format_into", issue = "138215")]
39+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
4040
pub use num_buffer::{NumBuffer, NumBufferTrait};
4141

4242
#[stable(feature = "debug_builders", since = "1.2.0")]

library/core/src/fmt/num.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ macro_rules! impl_Display {
260260
/// # Examples
261261
///
262262
/// ```
263-
/// #![feature(int_format_into)]
264263
/// use core::fmt::NumBuffer;
265264
///
266265
#[doc = concat!("let n = 0", stringify!($Signed), ";")]
@@ -273,7 +272,7 @@ macro_rules! impl_Display {
273272
#[doc = concat!("let n2 = ", stringify!($Signed::MAX), ";")]
274273
#[doc = concat!("assert_eq!(n2.format_into(&mut buf), ", stringify!($Signed::MAX), ".to_string());")]
275274
/// ```
276-
#[unstable(feature = "int_format_into", issue = "138215")]
275+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
277276
pub fn format_into(self, buf: &mut NumBuffer<Self>) -> &str {
278277
let mut offset;
279278

@@ -305,7 +304,6 @@ macro_rules! impl_Display {
305304
/// # Examples
306305
///
307306
/// ```
308-
/// #![feature(int_format_into)]
309307
/// use core::fmt::NumBuffer;
310308
///
311309
#[doc = concat!("let n = 0", stringify!($Unsigned), ";")]
@@ -318,7 +316,7 @@ macro_rules! impl_Display {
318316
#[doc = concat!("let n2 = ", stringify!($Unsigned::MAX), ";")]
319317
#[doc = concat!("assert_eq!(n2.format_into(&mut buf), ", stringify!($Unsigned::MAX), ".to_string());")]
320318
/// ```
321-
#[unstable(feature = "int_format_into", issue = "138215")]
319+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
322320
pub fn format_into(self, buf: &mut NumBuffer<Self>) -> &str {
323321
let offset;
324322

@@ -744,7 +742,6 @@ impl u128 {
744742
/// # Examples
745743
///
746744
/// ```
747-
/// #![feature(int_format_into)]
748745
/// use core::fmt::NumBuffer;
749746
///
750747
/// let n = 0u128;
@@ -759,7 +756,7 @@ impl u128 {
759756
/// let mut buf2 = NumBuffer::new();
760757
/// assert_eq!(n2.format_into(&mut buf2), u128::MAX.to_string());
761758
/// ```
762-
#[unstable(feature = "int_format_into", issue = "138215")]
759+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
763760
pub fn format_into(self, buf: &mut NumBuffer<Self>) -> &str {
764761
let diff = buf.capacity() - U128_MAX_DEC_N;
765762
// FIXME: Once const generics are better, use `NumberBufferTrait::BUF_SIZE` as generic const
@@ -779,7 +776,6 @@ impl i128 {
779776
/// # Examples
780777
///
781778
/// ```
782-
/// #![feature(int_format_into)]
783779
/// use core::fmt::NumBuffer;
784780
///
785781
/// let n = 0i128;
@@ -792,7 +788,7 @@ impl i128 {
792788
/// let n2 = i128::MAX;
793789
/// assert_eq!(n2.format_into(&mut buf), i128::MAX.to_string());
794790
/// ```
795-
#[unstable(feature = "int_format_into", issue = "138215")]
791+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
796792
pub fn format_into(self, buf: &mut NumBuffer<Self>) -> &str {
797793
let diff = buf.capacity() - U128_MAX_DEC_N;
798794
// FIXME: Once const generics are better, use `NumberBufferTrait::BUF_SIZE` as generic const

library/core/src/fmt/num_buffer.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@ use crate::mem::MaybeUninit;
44
#[unstable(feature = "int_format_into", issue = "138215")]
55
pub trait NumBufferTrait {
66
/// Maximum number of digits in decimal base of the implemented integer.
7+
#[unstable(feature = "int_format_into", issue = "138215")]
78
const BUF_SIZE: usize;
89
}
910

1011
macro_rules! impl_NumBufferTrait {
1112
($($signed:ident, $unsigned:ident,)*) => {
1213
$(
13-
#[unstable(feature = "int_format_into", issue = "138215")]
14+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
1415
impl NumBufferTrait for $signed {
1516
// `+ 2` and not `+ 1` to include the `-` character.
1617
const BUF_SIZE: usize = $signed::MAX.ilog(10) as usize + 2;
1718
}
18-
#[unstable(feature = "int_format_into", issue = "138215")]
19+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
1920
impl NumBufferTrait for $unsigned {
2021
const BUF_SIZE: usize = $unsigned::MAX.ilog(10) as usize + 1;
2122
}
@@ -34,7 +35,7 @@ impl_NumBufferTrait! {
3435

3536
/// A buffer wrapper of which the internal size is based on the maximum
3637
/// number of digits the associated integer can have.
37-
#[unstable(feature = "int_format_into", issue = "138215")]
38+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
3839
#[derive(Debug)]
3940
pub struct NumBuffer<T: NumBufferTrait> {
4041
// FIXME: Once const generics feature is working, use `T::BUF_SIZE` instead of 40.
@@ -43,10 +44,11 @@ pub struct NumBuffer<T: NumBufferTrait> {
4344
phantom: core::marker::PhantomData<T>,
4445
}
4546

46-
#[unstable(feature = "int_format_into", issue = "138215")]
47+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
4748
impl<T: NumBufferTrait> NumBuffer<T> {
4849
/// Initializes internal buffer.
49-
#[unstable(feature = "int_format_into", issue = "138215")]
50+
#[stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
51+
#[rustc_const_stable(feature = "int_format_into", since = "CURRENT_RUSTC_VERSION")]
5052
pub const fn new() -> Self {
5153
// FIXME: Once const generics feature is working, use `T::BUF_SIZE` instead of 40.
5254
NumBuffer { buf: [MaybeUninit::<u8>::uninit(); 40], phantom: core::marker::PhantomData }

0 commit comments

Comments
 (0)