BREAKING: Rust flexbuffers serde human readable set to false (#6257)
authorCasper <casperneo@uchicago.edu>
Fri, 13 Nov 2020 15:53:01 +0000 (07:53 -0800)
committerGitHub <noreply@github.com>
Fri, 13 Nov 2020 15:53:01 +0000 (07:53 -0800)
Co-authored-by: Casper Neo <cneo@google.com>
rust/flexbuffers/Cargo.toml
rust/flexbuffers/src/builder/ser.rs
rust/flexbuffers/src/reader/de.rs

index ebbbbbca67fe47a7be44435f3c90c4f25fbe5448..44737a08e96b587b977221f3126889fbf8a07e15 100644 (file)
@@ -1,6 +1,6 @@
 [package]
 name = "flexbuffers"
-version = "0.1.1"
+version = "0.2.1"
 authors = ["Casper Neo <cneo@google.com>", "FlatBuffers Maintainers"]
 edition = "2018"
 license = "Apache-2.0"
@@ -10,6 +10,17 @@ repository = "https://github.com/google/flatbuffers"
 keywords = ["flatbuffers", "flexbuffers", "serialization", "zero-copy"]
 categories = ["encoding", "data-structures", "memory-management"]
 
+[features]
+# Sets serde::Serializer::is_human_readable() to true.
+# The default was changed from true to false in version "0.2.1".
+# You basically never need this to be true unless writing data for old binaries.
+serialize_human_readable = []
+# Sets serde::Deserializer::is_human_readable() to true.
+# The default was changed from true to false in version "0.2.1".
+# You basically never need this to be true unless reading data from old binaries.
+deserialize_human_readable = []
+
+
 [dependencies]
 serde = "1.0"
 serde_derive = "1.0"
index 0b9d689ce7b1442f249dcdc91574f31062502ded..8e483baf8ddb8a47b036448f47d491f661601369 100644 (file)
@@ -217,6 +217,9 @@ impl<'a> ser::Serializer for &'a mut FlexbufferSerializer {
     type SerializeStructVariant = &'a mut FlexbufferSerializer;
     type Ok = ();
     type Error = Error;
+    fn is_human_readable(&self) -> bool {
+        cfg!(serialize_human_readable)
+    }
     fn serialize_bool(self, v: bool) -> Result<Self::Ok, Self::Error> {
         self.builder.push(v);
         self.finish_if_not_nested()
index ad35f25c210f3c7ff86e7900384435fbbcfc25dc..8cc3b6ed4d613d24c8cf0605eae9205706089dd3 100644 (file)
@@ -151,6 +151,10 @@ impl<'de> VariantAccess<'de> for Reader<'de> {
 
 impl<'de> Deserializer<'de> for crate::Reader<'de> {
     type Error = DeserializationError;
+    fn is_human_readable(&self) -> bool {
+        cfg!(deserialize_human_readable)
+    }
+
     fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
     where
         V: Visitor<'de>,