```rust macro_rules! mk_u32 { () => { u32 } } #[derive(Clone)] struct Foo { value: mk_u32!(), // ok } #[derive(Clone)] struct Bar<T> { param: T, value: mk_u32!(), // error } ```