| //@ run-pass | |
| use std::fmt; | |
| struct Foo; | |
| impl fmt::Debug for Foo { | |
| fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { | |
| println!("<Foo as Debug>::fmt()"); | |
| write!(fmt, "") | |
| } | |
| } | |
| fn test1() { | |
| let foo_str = format!("{:?}", Foo); | |
| println!("{}", foo_str); | |
| } | |
| fn test2() { | |
| println!("{:?}", Foo); | |
| } | |
| fn main() { | |
| // This works fine | |
| test1(); | |
| // This fails | |
| test2(); | |
| } |