#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::fmt; struct Foo(i32); impl fmt::Display for Foo { fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { formatter.write_fmt(format_args!("Foo {}", self.0)) } } fn main() { assert_eq!(format!("{}", Foo(- 1)), "Foo -1"); assert_eq!(format!("{:0>8}", Foo(2)), "Foo 2"); }