From aa4bc89b17f2dd2f8c5ecad0a63cec39f24449bc Mon Sep 17 00:00:00 2001 From: Thomas Backman Date: Tue, 22 Apr 2014 19:41:02 +0200 Subject: [PATCH] Implement Show for &mut [T] --- src/libstd/slice.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libstd/slice.rs b/src/libstd/slice.rs index 6c55195e62728..620baabeef539 100644 --- a/src/libstd/slice.rs +++ b/src/libstd/slice.rs @@ -2002,6 +2002,12 @@ impl<'a, T: fmt::Show> fmt::Show for &'a [T] { } } +impl<'a, T: fmt::Show> fmt::Show for &'a mut [T] { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + self.as_slice().fmt(f) + } +} + impl fmt::Show for ~[T] { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.as_slice().fmt(f) @@ -3408,6 +3414,12 @@ mod tests { test_show_vec!(~[1], "[1]".to_owned()); test_show_vec!(~[1, 2, 3], "[1, 2, 3]".to_owned()); test_show_vec!(~[~[], ~[1u], ~[1u, 1u]], "[[], [1], [1, 1]]".to_owned()); + + let empty_mut: &mut [int] = &mut[]; + test_show_vec!(empty_mut, "[]".to_owned()); + test_show_vec!(&mut[1], "[1]".to_owned()); + test_show_vec!(&mut[1, 2, 3], "[1, 2, 3]".to_owned()); + test_show_vec!(&mut[&mut[], &mut[1u], &mut[1u, 1u]], "[[], [1], [1, 1]]".to_owned()); } #[test]