1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年3月2日 |
---|
#323 在 #procedural
31 每月下载
用于 introspection-derive
3KB
69 行
introspection
一个Rust自省进程宏。
它做什么?
它只是将代码从编译阶段(从 syn
包)转换为更简单的结构体。适用于 结构体
和 枚举
。您可以通过一个 Introspection
特性来获取这些信息。
用法
- 在您的
Cargo.toml
中添加introspection
依赖
[dependencies]
introspection-derive = "0.1"
introspection = "0.1"
- 创建一个结构体或枚举
#[macro_use]
extern crate introspection_derive;
extern crate introspection;
#[derive(Introspection)]
struct FrenchToast {
private_field: u64,
pub public_field: u8,
}
- 使用它
fn main() {
use introspection::{ Introspection };
println!("Introspection: {:?}", FrenchToast::introspection());
}
- 查看结果
Running `target/debug/introspection-test`
Introspection: IntrospectionInfo { ident: "FrenchToast", visibility: Inherited, entity_type: Struct, fields: ["private_field", "public_field"] }
备注:我个人怀疑这个包会帮助某人,因为目前(rustc v1.15)无法从进程宏中做很多有趣和有用的事情。
许可证
本项目采用 MIT 许可证 许可。
依赖项
~2MB
~49K SLoC