#[derive(Serialize, Deserialize, Debug, Copy, Clone)]
struct Place {
- name: usize, // is actually s string
+ name: usize,
}
#[derive(Serialize, Deserialize, Debug, Copy, Clone)]
inf: char,
}
+#[derive(Serialize, Deserialize, Debug, Copy, Clone)]
+struct ManuallyFlattened {
+ name: usize,
+ inm: char,
+}
+
fn p<T: Serialize>(n: &str, v: &T) {
println!("\n{}", n);
println!("value {:?}", serde_value::to_value(&v));
let place = Place { name: 42 };
let o = Output { place, ino: 'o' };
let f = Flattened { place, inf: 'f' };
+ let m = ManuallyFlattened { name: 42, inm: 'm' };
p("O", &o);
p("F", &f);
+ p("M", &m);
}