serde_bench/
lib.rs

1#![allow(
2    clippy::cast_lossless,
3    clippy::cast_possible_truncation,
4    clippy::elidable_lifetime_names,
5    clippy::missing_errors_doc,
6    clippy::needless_lifetimes
7)]
8
9extern crate serde_core as serde;
10
11mod de;
12mod error;
13mod ser;
14
15use self::de::Deserializer;
16use self::ser::Serializer;
17use serde::{Deserialize, Serialize};
18
19pub use self::error::{Error, Result};
20
21pub fn serialize<T>(out: &mut Vec<u8>, value: &T) -> Result<()>
22where
23    T: Serialize,
24{
25    let mut ser = Serializer::new(out);
26    Serialize::serialize(value, &mut ser)
27}
28
29pub fn deserialize<'de, T>(bytes: &'de [u8]) -> Result<T>
30where
31    T: Deserialize<'de>,
32{
33    let mut de = Deserializer::new(bytes);
34    Deserialize::deserialize(&mut de)
35}