From: Ian Jackson Date: Fri, 29 Apr 2022 10:20:07 +0000 (+0100) Subject: shows X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=a30c65fa8bc36aff8e01f4b87fa96ea05e60e4b2;p=rust-experiments.git shows --- diff --git a/Cargo.lock b/Cargo.lock index 3366188..e074166 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,10 +8,23 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "foo" version = "0.1.0" dependencies = [ + "ron", "serde", "serde-value", ] @@ -52,6 +65,17 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "ron" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b861ecaade43ac97886a512b360d01d66be9f41f3c61088b42cedf92e03d678" +dependencies = [ + "base64", + "bitflags", + "serde", +] + [[package]] name = "serde" version = "1.0.136" diff --git a/Cargo.toml b/Cargo.toml index 1455ce9..d4a9625 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,3 +9,4 @@ edition = "2021" #tokio = { version = "1", features = ["full"] } serde-value = "0.7" serde = { version="1", features=["derive"] } +ron = "*" diff --git a/src/main.rs b/src/main.rs index dfb4e57..f45375b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,11 +22,18 @@ struct Flattened { inf: char, } +fn p(n: &str, v: &T) { + println!("\n{}", n); + println!("value {:?}", serde_value::to_value(&v)); + println!("ron {}", ron::to_string(&v).unwrap()); + println!(); +} + fn main() { let place = Place { name: 42 }; let o = Output { place, ino: 'o' }; let f = Flattened { place, inf: 'f' }; - eprintln!("O = {:?}", serde_value::to_value(&o)); - eprintln!("F = {:?}", serde_value::to_value(&f)); + p("O", &o); + p("F", &f); }