pub fn to_bytes<T>(value: &T) -> Result<Vec<u8>, Error>where
T: Serialize,Expand description
Serialize a value into bytes.
ยงExamples
// Bring serde Serialize/Deserialize derivable traits into scope.
use serde::Serialize;
// Define custom struct.
#[derive(Serialize)]
struct MyStruct {
name: String,
score: u32,
}
// Create value to serialize.
let value = MyStruct {
name: "Ferris".to_owned(),
score: 42,
};
// Serialize value into bytes.
let bytes = shaft::to_bytes(&value).expect("serialization error");Examples found in repository?
examples/main.rs (line 23)
15fn main() -> Result<(), Box<dyn Error>> {
16 // Create value to serialize.
17 let value = MyStruct {
18 name: "Ferris".to_owned(),
19 score: 42,
20 };
21
22 // Serialize value to bytes.
23 let bytes = shaft::to_bytes(&value)?;
24
25 // Export value to file.
26 fs::write("value.bin", bytes)?;
27
28 // Retrieve bytes from file.
29 let bytes = fs::read("value.bin")?;
30
31 // Deserialize value from bytes.
32 let value: MyStruct = shaft::from_bytes(&bytes)?;
33
34 // Check struct fields.
35 assert_eq!(value.name, "Ferris");
36 assert_eq!(value.score, 42);
37
38 // Clean file.
39 fs::remove_file("value.bin")?;
40
41 Ok(())
42}