#![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 { if formatter.sign_minus() { write!(formatter, "-Foo({})", self.0) } else { write!(formatter, "Foo({})", self.0) } } } fn main() { assert_eq!(format!("{:-}", Foo(23)), "-Foo(23)"); assert_eq!(format!("{}", Foo(23)), "Foo(23)"); }