struct-patch 0.10.5

A library that helps you implement partial updates for your structs.
Documentation
use struct_patch::Patch;
#[cfg(feature = "status")]
use struct_patch::Status;

#[derive(Default, Patch)]
#[patch(attribute(derive(Debug, Default)))]
struct Item {
    field_bool: bool,
    field_int: usize,
    field_string: String,
}

fn main() {
    let mut patch: ItemPatch = Item::new_empty_patch();

    #[cfg(feature = "status")]
    assert!(patch.is_empty()); // provided by Status
    patch.field_int = Some(7);

    #[cfg(feature = "status")]
    assert!(!patch.is_empty());
}