## Custom Derive for the `boxext::Zero` trait Add `#[derive(Zero)]` on your types to automatically derive the `boxext::Zero` trait. Only structs aggregating types implementing the `boxext::Zero` trait are valid to use this with. ### Example ```rust extern crate boxext; #[macro_use] extern crate boxext_derive; use boxext::BoxExt; #[derive(Zero)] struct Foo { a: usize, b: f64, c: [usize; 4], } // #[derive(Zero)] // ^ the trait `boxext::Zero` is not implemented for `std::boxed::Box` // struct Bar { // a: usize, // b: Box, // } fn main() { // equivalent to Box::new(Foo { a: 0, b: 0.0, c: [0; 4] }) let buf: Box = Box::new_zeroed(); } ```