#reflection #generate #type

invade

一个用于反射 Rust 类型并生成代码的库

6 个版本

0.0.6 2024年2月14日
0.0.5 2024年2月14日

#661数据结构

每月 22 次下载

MIT/Apache

8KB
69

invade

设置

cargo add invade

使用方法

use invade::invade;

#[invade]
struct Counter {
    count: u32,
}

#[invade]
impl Counter {
    fn inc(&mut self) {
        self.count += 1;
    }
}

fn main() {
    let mut counter = Counter { count: 0 };
  
    println!("count: {:?}", counter.invade_get::<u32>("count"));

    counter.invade_set("count", 1_u32);

    assert_eq!(counter.count, 1);

    counter.invade_call("inc", vec![]);

    assert_eq!(counter.count, 2);
}

依赖项

~290–740KB
~18K SLoC