Serialization / Binary format

use serde::{SerializeDeserialize};

#[derive(SerializeDeserialize, Debug)]
struct Size  {    
    width: i32,
    height: i32,
}

#[derive(SerializeDeserialize, Debug)]
struct Rect  {    
    size: Size,
}

let rect: Rect = Rect {
    size: Size { 
        width: 5,
        height: 10,
    }
};

//Encoding Binary Data
if let Ok(data_b) = bincode::serialize(&rect) {
//data_b is [5, 0, 0, 0, 10, 0, 0, 0]
println!("{:?}", data_b); 

//Decoding Binary Data
let mut cursor = &data_b[..];     
let rect2: Rect = bincode::
deserialize_from(&mut cursor).unwrap();

println!("rect2 is {:?}", rect2);
}