generic_uvarint/
decode.rs

1type Error = unsigned_varint::decode::Error;
2
3pub trait Deserialize: Sized {
4    fn decode(buf: &[u8]) -> Result<(Self, &[u8]), Error>;
5}
6
7macro_rules! impl_deser {
8    ($($t:ident),+ $(,)?) => {
9        $(
10        impl Deserialize for $t {
11            fn decode(buf: &[u8]) -> Result<(Self, &[u8]), Error> {
12                unsigned_varint::decode::$t(buf)
13            }
14        }
15        )+
16    }
17}
18
19impl_deser!(u8, u16, u32, u64, u128, usize);