use pack_io::{decode, encode};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let original: (u64, bool, String, Option<i32>) =
(42, true, String::from("pack-io v0.2"), Some(-7));
let bytes = encode(&original)?;
println!(
"encoded {} bytes for a tuple of (u64, bool, String, Option<i32>)",
bytes.len()
);
println!("bytes: {bytes:?}");
let decoded: (u64, bool, String, Option<i32>) = decode(&bytes)?;
assert_eq!(decoded, original);
println!("round-trip equality: ok");
Ok(())
}