Object field order matters!

This commit is contained in:
Mark
2023-11-30 17:48:24 +01:00
parent 3d1ce384d0
commit 48c1381194
2 changed files with 74 additions and 56 deletions

View File

@@ -28,14 +28,8 @@ pub fn assign(from: &Data, target: &Data) {
.as_any()
.downcast_ref::<crate::data::object::Object>(),
) {
for (field, target) in target.0.iter() {
for (name, from) in from.0.iter() {
// TODO: do string comparison at compile-time instead!
if field == name {
assign(from, target);
break;
}
}
for ((_, from), (_, target)) in from.0.iter().zip(target.0.iter()) {
assign(from, target);
}
} else {
unreachable!("invalid assignment")