use epserde::prelude::*;
fn main() {
    let a = [1_usize; 100];
    let mut buf = epserde::new_aligned_cursor();
    let _bytes_written = a.serialize(&mut buf).unwrap();
    buf.set_position(0);
    let full = <[usize; 100]>::deserialize_full(&mut buf).unwrap();
    println!(
        "Full-copy deserialization type: {}",
        std::any::type_name::<[usize; 100]>(),
    );
    println!("Value: {:x?}", full);
    println!("\n");
    let buf = buf.into_inner();
    let eps = <[usize; 100]>::deserialize_eps(&buf).unwrap();
    println!(
        " ε-copy deserialization type: {}",
        std::any::type_name::<<[usize; 100] as DeserializeInner>::DeserType<'_>>(),
    );
    println!("Value: {:x?}", eps);
}