fix: add back the decoder lifetime
This commit is contained in:
parent
4fb508e3b2
commit
bf3b984405
|
@ -1,21 +1,21 @@
|
||||||
use crate::decode::Decode;
|
use crate::decode::Decode;
|
||||||
|
|
||||||
pub struct Decoder {
|
pub struct Decoder<'b> {
|
||||||
buffer: Vec<u8>,
|
buffer: &'b [u8],
|
||||||
used_bits: i64,
|
used_bits: i64,
|
||||||
pos: usize,
|
pos: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Decoder {
|
impl<'b> Decoder<'b> {
|
||||||
pub fn new(bytes: &[u8]) -> Decoder {
|
pub fn new(bytes: &'b [u8]) -> Decoder {
|
||||||
Decoder {
|
Decoder {
|
||||||
buffer: bytes.to_vec(),
|
buffer: bytes,
|
||||||
pos: 0,
|
pos: 0,
|
||||||
used_bits: 0,
|
used_bits: 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn decode<'b, T: Decode<'b>>(&mut self) -> Result<T, String> {
|
pub fn decode<T: Decode<'b>>(&mut self) -> Result<T, String> {
|
||||||
T::decode(self)
|
T::decode(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ where
|
||||||
Ok(e.buffer)
|
Ok(e.buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn decode<'b, T>(bytes: &[u8]) -> Result<T, String>
|
pub fn decode<'b, T>(bytes: &'b [u8]) -> Result<T, String>
|
||||||
where
|
where
|
||||||
T: de::Decode<'b>,
|
T: de::Decode<'b>,
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue