From 32dcbe6367635c37d305e23331dcc92a3cf6c246 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 29 Apr 2022 11:15:06 +0100 Subject: [PATCH] fails to demo no Struct in serde-value --- Cargo.lock | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 1 + src/main.rs | 11 +++++++---- 3 files changed, 58 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3487279..3366188 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,7 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" name = "foo" version = "0.1.0" dependencies = [ + "serde", "serde-value", ] @@ -33,11 +34,32 @@ dependencies = [ "num-traits", ] +[[package]] +name = "proc-macro2" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +dependencies = [ + "proc-macro2", +] + [[package]] name = "serde" version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +dependencies = [ + "serde_derive", +] [[package]] name = "serde-value" @@ -48,3 +70,31 @@ dependencies = [ "ordered-float", "serde", ] + +[[package]] +name = "serde_derive" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "1.0.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff7c592601f11445996a06f8ad0c27f094a58857c2f89e97974ab9235b92c52" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" diff --git a/Cargo.toml b/Cargo.toml index 2017ea9..1455ce9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,3 +8,4 @@ edition = "2021" [dependencies] #tokio = { version = "1", features = ["full"] } serde-value = "0.7" +serde = { version="1", features=["derive"] } diff --git a/src/main.rs b/src/main.rs index 5712dcb..dfb4e57 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,21 +1,24 @@ #[allow(dead_code)] #[allow(unused_mut)] +#[allow(unused_imports)] -#[derive(Deserialize, Debug, Copy, Clone)] +use serde::{Serialize, Deserialize}; + +#[derive(Serialize, Deserialize, Debug, Copy, Clone)] struct Place { name: usize, // is actually s string } -#[derive(Deserialize, Debug, Copy, Clone)] +#[derive(Serialize, Deserialize, Debug, Copy, Clone)] struct Output { place: Place, ino: char, } -#[derive(Deserialize, Debug, Copy, Clone)] +#[derive(Serialize, Deserialize, Debug, Copy, Clone)] struct Flattened { #[serde(flatten)] - place: Place + place: Place, inf: char, } -- 2.30.2