chert_derive 0.2.0

domain-specific expression language
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use chert_accessor::{ChertField, ChertStruct};
use chert_derive::ChertStruct;

#[derive(Debug, ChertStruct)]
struct TestUint64 {
    test: u32,
}

#[test]
fn test_u32() {
    let fields = TestUint64::fields();
    if let Some((_, ChertField::Uint64(accessor))) = fields.get("test") {
        let test = TestUint64 { test: 123 };
        assert_eq!(accessor(&test), &123u32);
    } else {
        panic!("bad {fields:?}");
    };
}