Add `impl Show for &Show`

This makes printing a `Show` trait object much easier.
This commit is contained in:
Alex Crichton 2014-06-30 12:33:37 -07:00
parent 566b57f3de
commit 8bdc4b54a4
2 changed files with 6 additions and 0 deletions

View File

@ -518,6 +518,9 @@ impl<'a, T: Show> Show for &'a T {
impl<'a, T: Show> Show for &'a mut T {
fn fmt(&self, f: &mut Formatter) -> Result { secret_show(&**self, f) }
}
impl<'a> Show for &'a Show {
fn fmt(&self, f: &mut Formatter) -> Result { (*self).fmt(f) }
}
impl Bool for bool {
fn fmt(&self, f: &mut Formatter) -> Result {

View File

@ -81,6 +81,9 @@ pub fn main() {
t!(format!("{foo_bar}", foo_bar=1i), "1");
t!(format!("{:d}", 5i + 5i), "10");
let a: &fmt::Show = &1i;
t!(format!("{}", a), "1");
// Formatting strings and their arguments
t!(format!("{:s}", "a"), "a");
t!(format!("{:4s}", "a"), "a ");