diff options
| author | est31 <MTest31@outlook.com> | 2016-11-28 02:18:34 +0100 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2016-12-30 15:17:28 +0100 |
| commit | c79aba71d5a0573a6f9cd270dac60d92c611236c (patch) | |
| tree | 65a481e7b835dadddefa6750b5f73de13a85512f | |
| parent | 3b34f90bc1f230737516a799e59dbd3425aab04b (diff) | |
| download | rust-c79aba71d5a0573a6f9cd270dac60d92c611236c.tar.gz rust-c79aba71d5a0573a6f9cd270dac60d92c611236c.zip | |
40 -> 39, as ceil(log10(2^128)) == 39
just as ceil(log10(2^64)) == 20
| -rw-r--r-- | src/libcore/fmt/num.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/u128.rs | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/libcore/fmt/num.rs b/src/libcore/fmt/num.rs index 7b6c2d48889..cd725392b66 100644 --- a/src/libcore/fmt/num.rs +++ b/src/libcore/fmt/num.rs @@ -211,7 +211,7 @@ macro_rules! impl_Display { // convert the negative num to positive by summing 1 to it's 2 complement (!self.$conv_fn()).wrapping_add(1) }; - let mut buf: [u8; 40] = unsafe { mem::uninitialized() }; + let mut buf: [u8; 39] = unsafe { mem::uninitialized() }; let mut curr = buf.len() as isize; let buf_ptr = buf.as_mut_ptr(); let lut_ptr = DEC_DIGITS_LUT.as_ptr(); diff --git a/src/test/run-pass/u128.rs b/src/test/run-pass/u128.rs index bd6ff46e8f4..d138e09318b 100644 --- a/src/test/run-pass/u128.rs +++ b/src/test/run-pass/u128.rs @@ -59,6 +59,8 @@ fn main() { assert_eq!("20000000000000000000000", format!("{:o}", j)); assert_eq!("10000000000000000000000000000000000000000000000000000000000000000000", format!("{:b}", j)); + assert_eq!("340282366920938463463374607431768211455", + format!("{}", u128::max_value())); assert_eq!("147573952589676412928", format!("{:?}", j)); // common traits x.clone(); |
