Implement Serialize for flexbuffer::Reader (#6635)

* Implement Serialize for flexbuffer::Reader

* bump version

* Remove use of experimantal or-patterns

* Remove more use of experimantal or-patterns

Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
Casper
2021-05-10 23:15:46 -04:00
committed by GitHub
parent a1730fcea8
commit 8fd10606c1
9 changed files with 125 additions and 40 deletions

View File

@@ -134,12 +134,13 @@ impl<A: Arbitrary> Arbitrary for Array4<A> {
}
quickcheck! {
fn qc_serious(x: Struct) -> bool {
let mut s = FlexbufferSerializer::new();
x.serialize(&mut s).unwrap();
let r = Reader::get_root(s.view()).unwrap();
println!("{}", r);
let x2 = Struct::deserialize(r).unwrap();
x == x2
fn qc_serious(original: Struct) -> bool {
let struct_buf = flexbuffers::to_vec(&original).unwrap();
let root = Reader::get_root(&*struct_buf).unwrap();
let reader_buf = flexbuffers::to_vec(&root).unwrap();
let deserialized: Struct = flexbuffers::from_slice(&struct_buf).unwrap();
let reserialized: Struct = flexbuffers::from_slice(&reader_buf).unwrap();
original == deserialized && original == reserialized
}
}