deserialize_slim

Function deserialize_slim 

Source
pub fn deserialize_slim<R, T>(reader: R) -> Result<T>
where R: Read, T: DeserializeOwned,
Expand description

Deserialize a value using the Slim configuration.

This is a convenience function equivalent to deserialize::<Slim, _, _>(reader). It expects serialized data without identifiers, using indices for enum variants.

ยงExample

use serde::{Serialize, Deserialize};
use postbag::{serialize_slim, deserialize_slim};

#[derive(Serialize, Deserialize, Debug, PartialEq)]
struct Person {
    name: String,
    age: u32,
}

let person = Person {
    name: "Alice".to_string(),
    age: 30,
};

let mut buffer = Vec::new();
serialize_slim(&mut buffer, &person).unwrap();

let deserialized: Person = deserialize_slim(buffer.as_slice()).unwrap();
assert_eq!(person, deserialized);