Macro doe::impl_all

source ·
macro_rules! impl_all {
    ($struct_name:ident, $($key:ident),*) => { ... };
}
Expand description

implement Default,Debug,Display,Clone,Drop for struct

fn main() {
   use std::sync::{Arc, Mutex};
   use doe::*;
   struct Doe{
       pub name:String,
       pub nickname: Box<str>,
       key:Arc<Mutex<usize>>
   }
   impl_all!(Doe,name,nickname,key);
   let d = Doe{name:"andrew".to_string(), nickname: Box::from("func"),key:Arc::new(Mutex::new(15))};
   let d1 = Doe::default();
   let d2 = d1.clone();
   println!("{:?}",d);
   println!("{}",d1);
}