5个版本
0.1.4 | 2023年4月9日 |
---|---|
0.1.3 | 2023年4月9日 |
0.1.2 | 2023年4月9日 |
0.1.1 | 2023年4月8日 |
0.1.0 | 2023年4月8日 |
645 在 过程宏 中
每月31次下载
13KB
157 行
完全公开
这个crate公开了一个单一的属性宏,可以用来减轻将Rust项的每个字段标记为pub
时的冗长,通过自动完成这项工作。
[dependencies]
fully_pub = "0.1"
示例
use fully_pub::fully_pub;
#[fully_pub]
struct User {
name: String,
age: i32,
#[fully_pub(exclude)]
secret: String,
}
#[fully_pub]
impl User {
fn new(name: String, age: i32, secret: String) -> Self {
Self { name, age, secret }
}
fn happy_birthday(&mut self) {
self.age += 1;
}
#[fully_pub(exclude)]
fn get_secret(&mut self) -> &str {
&self.secret
}
}
此宏几乎可以在Rust编程语言中的任何地方使用,如果需要,甚至可以递归地用于嵌套模块。
有关更多详细信息,请参阅宏本身的文档。
许可证
根据您的选择,许可为Apache License,版本2.0或MIT许可证。除非您明确表示,否则您提交给此crate的任何有意包含的贡献,根据Apache-2.0许可证定义,应双重许可如上所述,不附加任何其他条款或条件。
依赖项
~260–700KB
~17K SLoC