1 个不稳定版本
0.1.0 | 2023年12月27日 |
---|
#2735 在 Rust 模式
8KB
78 行
::deep-struct-update
结构体更新语法 支持嵌套结构体。
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.");
许可证
许可协议为 Apache License, Version 2.0 或 MIT 许可证,由您选择。除非您明确声明,否则您提交给 deep-struct-update 的任何贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。