1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年3月2日 |
---|
53 在 #内省
6KB
129 行
内省
一个Rust内省过程宏。
它做什么?
它只是将代码从编译阶段(从 syn
包)转换为更简单的结构。适用于 struct
和 enum
。您可以通过一个 Introspection
特性来获取这些信息。
用法
- 将
introspection
添加到您的Cargo.toml
中的依赖项
[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 许可证。
依赖项
~1.5MB
~41K SLoC