9个版本
0.3.0 | 2024年2月3日 |
---|---|
0.2.0 | 2023年3月21日 |
0.1.6 | 2023年3月18日 |
0.1.5 | 2022年5月5日 |
0.1.0 | 2021年3月28日 |
#8 in #parse-attributes
278,712 每月下载量
在 312 个crate中使用 (通过 structmeta)
58KB
1.5K SLoC
StructMeta
通过定义一个结构体来解析Rust的属性参数。
文档
有关详细信息,请参阅 #[derive(StructMeta)]
文档。
安装
将其添加到您的Cargo.toml文件中
[dependencies]
structmeta = "0.3.0"
proc-macro2 = "1.0.78"
syn = "2.0.48"
quote = "1.0.35"
示例
use structmeta::StructMeta;
use syn::{parse_quote, Attribute, LitInt, LitStr};
#[derive(StructMeta, Debug)]
struct MyAttr {
x: LitInt,
y: LitStr,
}
let attr: Attribute = parse_quote!(#[my_attr(x = 10, y = "abc")]);
let attr: MyAttr = attr.parse_args().unwrap();
println!("x = {}, y = {}", attr.x, attr.y.value());
此代码输出
x = 10, y = abc
许可
该项目采用Apache-2.0/MIT双许可协议。请参阅两个LICENSE-*文件以获取详细信息。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您提交给作品以包含在内的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~270–720KB
~17K SLoC