use stackstring::String;
use core::convert::TryInto;
use rkyv::{Archive, Deserialize, Serialize, deserialize, rancor::Error};
#[derive(Archive, Deserialize, Serialize, PartialEq, Debug)]
#[rkyv(compare(PartialEq), derive(Debug))]
struct S {
st: String<3>,
x: u8,
}
fn main() {
let value = S {
st: "abf".try_into().unwrap(),
x: 99,
};
dbg!(&value);
let bytes = rkyv::to_bytes::<Error>(&value).unwrap();
let archived = rkyv::access::<ArchivedS, Error>(&bytes[..]).unwrap();
dbg!(archived);
assert_eq!(archived, &value);
let deserialized = deserialize::<S, _>(archived).unwrap();
assert_eq!(deserialized, value);
dbg!(deserialized);
}