chiark / gitweb /
shows
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 29 Apr 2022 10:20:07 +0000 (11:20 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 29 Apr 2022 10:20:07 +0000 (11:20 +0100)
Cargo.lock
Cargo.toml
src/main.rs

index 3366188d70424059764bed6115a28e63e65b5478..e074166c7aed2b43bcdc6f58cdda6558c26db976 100644 (file)
@@ -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"
index 1455ce90bba6491425f6e0fb1527278f18881272..d4a96256951b0676d2d109a9743cdf3ed36c7670 100644 (file)
@@ -9,3 +9,4 @@ edition = "2021"
 #tokio = { version = "1", features = ["full"] }
 serde-value = "0.7"
 serde = { version="1", features=["derive"] }
+ron = "*"
index dfb4e579341815506cdd880d7fb9ee46b7c9d1e9..f45375be68ce24e357a16dd2f0e9a727919256d5 100644 (file)
@@ -22,11 +22,18 @@ struct Flattened {
     inf: char,
 }
 
+fn p<T: Serialize>(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);
 }