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);