Crates.io | mutable_derive |
lib.rs | mutable_derive |
version | 0.3.3 |
source | src |
created_at | 2022-08-18 15:25:11.38951 |
updated_at | 2023-04-08 13:19:44.487263 |
description | Implementation for derive for Mutable and Softeq |
homepage | |
repository | https://gitlab.com/Thechi2000/mutable |
max_upload_size | |
id | 648192 |
size | 11,851 |
Mutable is a crate to keep track of changes in structures
It is still very much WIP
Here is a small example:
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)))
]);
}