From 41dcb563549b6bea97ca75f62543090ab59fcc4c Mon Sep 17 00:00:00 2001 From: Richo Healey Date: Mon, 15 Jun 2015 20:50:14 -0700 Subject: [PATCH 1/2] core: impl LowerHex and UpperHex for [u8] --- src/libcore/fmt/mod.rs | 14 ++++++++++++++ src/test/run-pass/ifmt.rs | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs index 76a40dc8a528a..62903e6369bd0 100644 --- a/src/libcore/fmt/mod.rs +++ b/src/libcore/fmt/mod.rs @@ -1175,6 +1175,20 @@ impl Debug for [T] { } } +#[stable(feature = "rust1", since = "1.2.0")] +impl LowerHex for [T] { + fn fmt(&self, f: &mut Formatter) -> Result { + f.debug_list().entries(self.iter()).finish() + } +} + +#[stable(feature = "rust1", since = "1.2.0")] +impl UpperHex for [T] { + fn fmt(&self, f: &mut Formatter) -> Result { + f.debug_list().entries(self.iter()).finish() + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl Debug for () { fn fmt(&self, f: &mut Formatter) -> Result { diff --git a/src/test/run-pass/ifmt.rs b/src/test/run-pass/ifmt.rs index c8adb6ccc0ab8..211f04a145aed 100644 --- a/src/test/run-pass/ifmt.rs +++ b/src/test/run-pass/ifmt.rs @@ -77,6 +77,13 @@ pub fn main() { t!(format!("{:o}", 10_usize), "12"); t!(format!("{:x}", 10_usize), "a"); t!(format!("{:X}", 10_usize), "A"); + + t!(format!("{:x}", [100]), "[0x64]"); + t!(format!("{:X}", [100]), "[0X64]"); + + t!(format!("{:?}", [100]), "[100]"); + t!(format!("{:?}", [100]), "[100]"); + t!(format!("{}", "foo"), "foo"); t!(format!("{}", "foo".to_string()), "foo"); if cfg!(target_pointer_width = "32") { From 5a3605459e4f167514082404bd872660c7ffcfc2 Mon Sep 17 00:00:00 2001 From: Richo Healey Date: Mon, 15 Jun 2015 22:15:58 -0700 Subject: [PATCH 2/2] core: Hide the feature behind a better feature --- src/libcore/fmt/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs index 62903e6369bd0..73de423cbc001 100644 --- a/src/libcore/fmt/mod.rs +++ b/src/libcore/fmt/mod.rs @@ -1175,14 +1175,14 @@ impl Debug for [T] { } } -#[stable(feature = "rust1", since = "1.2.0")] +#[stable(feature = "lowerhex_debug", since = "1.2.0")] impl LowerHex for [T] { fn fmt(&self, f: &mut Formatter) -> Result { f.debug_list().entries(self.iter()).finish() } } -#[stable(feature = "rust1", since = "1.2.0")] +#[stable(feature = "lowerhex_debug", since = "1.2.0")] impl UpperHex for [T] { fn fmt(&self, f: &mut Formatter) -> Result { f.debug_list().entries(self.iter()).finish()