Description
这个宏让你的struct的字段变为 pub ,省去在每个字段名前加pub的操作;注意 仅仅作用于字段上,对struct的可见性没有影响
This macro add pub before your structs' fields; Notice: It won't add pub before your structs
Example
use pub_this::pub_this;
#[pub_this]
struct Father<T> {
pub name: String,
age: usize,
child: T,
}
mod children{
use pub_this::pub_this;
#[pub_this]
pub struct Son {
name: String,
age: usize,
}
pub struct Daughter {
name: String,
age: usize,
}
}
fn main() {
let f1 = Father {
name: "me".to_string(),
age: 55,
child: children::Son {
name: "You".to_string(),
age: 10,
},
};
let f2 = Father {
name: "me".to_string(),
age: 55,
child: children::Daughter {
name: "You".to_string(), age: 10, },
};
println!{"{}",f1.child.name}
}
Expand
Here is what it looks like after expand
