From: Ian Jackson Date: Tue, 3 May 2022 09:25:07 +0000 (+0100) Subject: found X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=f5e860bd591b4d968f7229ace4b9f44ccc29852a;p=rust-experiments.git found --- diff --git a/src/main.rs b/src/main.rs index 2dac653..f1f0b2b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize, Debug, Copy, Clone)] struct Place { - name: usize, // is actually s string + name: usize, } #[derive(Serialize, Deserialize, Debug, Copy, Clone)] @@ -22,6 +22,12 @@ struct Flattened { inf: char, } +#[derive(Serialize, Deserialize, Debug, Copy, Clone)] +struct ManuallyFlattened { + name: usize, + inm: char, +} + fn p(n: &str, v: &T) { println!("\n{}", n); println!("value {:?}", serde_value::to_value(&v)); @@ -34,7 +40,9 @@ fn main() { 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); }