Remove the need to provide the maximum number of digits to `impl_Disp… · qinheping/verify-rust-std@4451aee (original) (raw)

`@@ -208,7 +208,7 @@ static DEC_DIGITS_LUT: &[u8; 200] = b"0001020304050607080910111213141516171819\

`

208

208

` 8081828384858687888990919293949596979899";

`

209

209

``

210

210

`macro_rules! impl_Display {

`

211

``

`-

($($t:ident => size:literalsize:literal size:literal(as positive:ident)?namedpositive:ident)? named positive:ident)?namedname:ident,)* ; as u:identviau:ident via u:identviaconv_fn:ident named $gen_name:ident) => {

`

``

211

`+

($($t:ident (as(as (aspositive:ident)? named name:ident,)∗;asname:ident,)* ; as name:ident,);asu:ident via convfn:identnamedconv_fn:ident named convfn:identnamedgen_name:ident) => {

`

212

212

``

213

213

` $(

`

214

214

` #[stable(feature = "rust1", since = "1.0.0")]

`

`@@ -248,8 +248,9 @@ macro_rules! impl_Display {

`

248

248

` #[cfg(not(feature = "optimize_for_size"))]

`

249

249

`impl $t {

`

250

250

`fn _fmt(mut self: $t, is_nonnegative: bool, f: &mut fmt::Formatter<'_>) -> fmt::Result {

`

251

``

`-

let mut buf = [MaybeUninit::::uninit(); $size];

`

252

``

`-

let mut curr = $size;

`

``

251

`+

const SIZE: usize = $t::MAX.ilog(10) as usize + 1;

`

``

252

`+

let mut buf = [MaybeUninit::::uninit(); SIZE];

`

``

253

`+

let mut curr = SIZE;

`

253

254

`let buf_ptr = MaybeUninit::slice_as_mut_ptr(&mut buf);

`

254

255

`let lut_ptr = DEC_DIGITS_LUT.as_ptr();

`

255

256

``

`@@ -526,16 +527,16 @@ macro_rules! impl_Exp {

`

526

527

`mod imp {

`

527

528

`use super::*;

`

528

529

`impl_Display!(

`

529

``

`-

i8 => 3 as u8 named fmt_i8,

`

530

``

`-

u8 => 3 named fmt_u8,

`

531

``

`-

i16 => 5 as u16 named fmt_i16,

`

532

``

`-

u16 => 5 named fmt_u16,

`

533

``

`-

i32 => 10 as u32 named fmt_i32,

`

534

``

`-

u32 => 10 named fmt_u32,

`

535

``

`-

i64 => 19 as u64 named fmt_i64,

`

536

``

`-

u64 => 20 named fmt_u64,

`

537

``

`-

isize => 19 as usize named fmt_isize,

`

538

``

`-

usize => 20 named fmt_usize,

`

``

530

`+

i8 as u8 named fmt_i8,

`

``

531

`+

u8 named fmt_u8,

`

``

532

`+

i16 as u16 named fmt_i16,

`

``

533

`+

u16 named fmt_u16,

`

``

534

`+

i32 as u32 named fmt_i32,

`

``

535

`+

u32 named fmt_u32,

`

``

536

`+

i64 as u64 named fmt_i64,

`

``

537

`+

u64 named fmt_u64,

`

``

538

`+

isize as usize named fmt_isize,

`

``

539

`+

usize named fmt_usize,

`

539

540

`; as u64 via to_u64 named fmt_u64

`

540

541

`);

`

541

542

`impl_Exp!(

`

`@@ -548,18 +549,18 @@ mod imp {

`

548

549

`mod imp {

`

549

550

`use super::*;

`

550

551

`impl_Display!(

`

551

``

`-

i8 => 3 as u8 named fmt_i8,

`

552

``

`-

u8 => 3 named fmt_u8,

`

553

``

`-

i16 => 5 as u16 named fmt_i16,

`

554

``

`-

u16 => 5 named fmt_u16,

`

555

``

`-

i32 => 10 as u32 named fmt_i32,

`

556

``

`-

u32 => 10 named fmt_u32,

`

557

``

`-

isize => 19 as usize named fmt_isize,

`

558

``

`-

usize => 20 named fmt_usize,

`

``

552

`+

i8 as u8 named fmt_i8,

`

``

553

`+

u8 named fmt_u8,

`

``

554

`+

i16 as u16 named fmt_i16,

`

``

555

`+

u16 named fmt_u16,

`

``

556

`+

i32 as u32 named fmt_i32,

`

``

557

`+

u32 named fmt_u32,

`

``

558

`+

isize as usize named fmt_isize,

`

``

559

`+

usize named fmt_usize,

`

559

560

`; as u32 via to_u32 named fmt_u32);

`

560

561

`impl_Display!(

`

561

``

`-

i64 => 19 as u64 named fmt_i64,

`

562

``

`-

u64 => 20 named fmt_u64,

`

``

562

`+

i64 as u64 named fmt_i64,

`

``

563

`+

u64 named fmt_u64,

`

563

564

`; as u64 via to_u64 named fmt_u64);

`

564

565

``

565

566

`impl_Exp!(i8, u8, i16, u16, i32, u32, isize, usize as u32 via to_u32 named exp_u32);

`