#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::fmt; use std::marker::PhantomData; struct Foo(i32, String, PhantomData); impl fmt::Debug for Foo { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { fmt.debug_tuple("Foo") .field(&self.0) .field(&self.1) .field(&format_args!("_")) .finish() } } fn main() { assert_eq!( "Foo(10, \"Hello\", _)", format!("{:?}", Foo(10, "Hello".to_string(), PhantomData::< u8 >)) ); }