decode

Function decode 

Source
pub fn decode<'de, R, T>(reader: R) -> Result<T, Error>
where R: IntoReader<'de>, T: Decode<'de, Binary, System>,
Expand description

Decode the given type T from the given Reader using the default Encoding.

ยงExamples

use musli::{Decode, Encode};
use musli::packed;

#[derive(Decode, Encode)]
struct Person {
    name: String,
    age: u32,
}

let mut data = packed::to_vec(&Person {
    name: "Aristotle".to_string(),
    age: 61,
})?;

// Add some extra data which will be ignored during decoding.
data.extend_from_slice(&[0xde, 0xad, 0xbe, 0xef]);

// Note: A slice implements `musli::Reader`.
let mut slice = &data[..];

let person: Person = packed::decode(&mut slice)?;
assert_eq!(slice, &[0xde, 0xad, 0xbe, 0xef]);
assert_eq!(person.name, "Aristotle");
assert_eq!(person.age, 61);