Crate deep_struct_update
source ·Expand description
Struct update syntax with support for nested structs.
use deep_struct_update::update;
struct Person {
name: String,
job: Job,
age: u8
}
struct Job {
position: String,
company: String
}
let bob = Person {
name: String::from("Bob"),
job: Job {
position: String::from("Programmer"),
company: String::from("Evil Inc.")
},
age: 29
};
let alice = update! {
name: String::from("Alice"),
age: 31,
job: {
position: String::from("Senior Programmer")
}
..bob
};
assert_eq!(alice.age, 31);
assert_eq!(alice.name, "Alice");
assert_eq!(alice.job.position, "Senior Programmer");
assert_eq!(alice.job.company, "Evil Inc.");
Macros
- Update a struct value.