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);
}