mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-10 07:06:26 +00:00
Serde with bytes maps to Blob (#6009)
* Serde with_bytes maps to Blob * Bump rust flexbuffers minor version number Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
@@ -8,6 +8,7 @@ flatbuffers = { path = "../../rust/flatbuffers" }
|
||||
flexbuffers = { path = "../../rust/flexbuffers" }
|
||||
serde_derive = "1.0"
|
||||
serde = "1.0"
|
||||
serde_bytes = "0.11"
|
||||
|
||||
[[bin]]
|
||||
name = "monster_example"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![allow(unused_imports)]
|
||||
|
||||
use super::rwyw::NonNullString;
|
||||
use flexbuffers::*;
|
||||
use quickcheck::{Arbitrary, Gen};
|
||||
@@ -30,6 +28,7 @@ enum Enum {
|
||||
b: Array4<i32>,
|
||||
c: Array2<f64>,
|
||||
},
|
||||
Blobs(#[serde(with = "serde_bytes")] Vec<u8>),
|
||||
}
|
||||
|
||||
// There is some upstream bug in deriving Arbitrary for Enum so we manually implement it here.
|
||||
|
||||
@@ -432,7 +432,16 @@ fn serde_serious() {
|
||||
let read = MyTupleStruct::deserialize(reader).unwrap();
|
||||
assert_eq!(data, read);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn serialize_serde_with_bytes_as_blob() {
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct Foo(#[serde(with = "serde_bytes")] Vec<u8>);
|
||||
let mut s = FlexbufferSerializer::new();
|
||||
Foo(vec![5, 6, 7, 8]).serialize(&mut s).unwrap();
|
||||
let reader = Reader::get_root(s.view()).unwrap();
|
||||
assert_eq!(reader.flexbuffer_type(), FlexBufferType::Blob);
|
||||
assert_eq!(reader.as_blob(), Blob(&[5, 6, 7, 8]));
|
||||
}
|
||||
#[test]
|
||||
fn iter() {
|
||||
let mut fxb = Builder::default();
|
||||
|
||||
Reference in New Issue
Block a user