10次发布

0.2.8 2023年4月8日
0.2.7 2023年4月8日
0.2.4 2022年10月19日
0.2.0 2022年9月3日
0.1.0 2022年8月18日

#504 in 数据结构

Download history 2/week @ 2024-03-14 42/week @ 2024-03-28 21/week @ 2024-04-04

每月66次下载

Apache-2.0

18KB
365

可变

可变是一个用于跟踪结构更改的crate
它仍然是一个非常多的WIP

这里有一个小例子

use mutable::Mutable;
use mutable_derive::Mutable;

#[derive(Mutable)]
struct Simple {
    size: usize,
}

#[derive(Mutable)]
struct Complex {
    id: String,
    value: Simple,
}

fn main() {
    let mut c0 = Complex { id: "a".to_string(), value: Simple { size: 32 } };
    let c1 = Complex { id: "b".to_string(), value: Simple { size: 64 } };

    assert_eq!(c0.update(c1), vec![
        ComplexMutation::Id(("a".to_string(), "b".to_string())),
        ComplexMutation::Value(SimpleMutation::Size((32, 64)))
    ]);
}

依赖项

~2MB
~41K SLoC