diff --git a/defmt/tests/derive-bounds.rs b/defmt/tests/derive-bounds.rs new file mode 100644 index 00000000..3018f4f4 --- /dev/null +++ b/defmt/tests/derive-bounds.rs @@ -0,0 +1,29 @@ +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), +} diff --git a/defmt/tests/ui.rs b/defmt/tests/ui.rs index 6537bedb..fef5aec9 100644 --- a/defmt/tests/ui.rs +++ b/defmt/tests/ui.rs @@ -9,5 +9,6 @@ fn ui() { t.compile_fail("tests/ui/*.rs"); t.pass("tests/basic_usage.rs"); + t.pass("tests/derive-bounds.rs"); } }