fn main() { let baz: Baz = Default::default(); defmt::info!("{}", baz); } trait Foo { type Bar; } #[derive(defmt::Format, Default)] struct Baz { field: T::Bar, field2: Quux, } #[derive(defmt::Format, Default)] struct Qux; impl Foo for Qux { type Bar = Qux; } #[allow(dead_code)] #[derive(defmt::Format, Default)] enum Quux { #[default] None, Variant1(T), Variant2 { f: T::Bar, }, Variant3(T::Bar), }