Skip to content

Commit 096feff

Browse files
committed
Fix deserialization of borrowed strings/bytes.
1 parent f3e5b4d commit 096feff

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors = ["Adam Reichold <[email protected]>"]
77
license = "MIT OR Apache-2.0"
88
repository = "https://github.com/adamreichold/serde-mincode"
99
documentation = "https://docs.rs/serde-mincode"
10-
version = "0.1.2"
10+
version = "0.1.3"
1111
edition = "2021"
1212

1313
[dependencies]

src/de.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ macro_rules! impl_decode {
2828
};
2929
}
3030

31-
impl Decoder<'_> {
31+
impl<'de> Decoder<'de> {
3232
impl_decode!(decode_i8: i8);
3333
impl_decode!(decode_i16: i16);
3434
impl_decode!(decode_i32: i32);
@@ -44,7 +44,7 @@ impl Decoder<'_> {
4444
impl_decode!(decode_f32: f32);
4545
impl_decode!(decode_f64: f64);
4646

47-
fn decode_bytes(&mut self) -> Result<&[u8], Box<Error>> {
47+
fn decode_bytes(&mut self) -> Result<&'de [u8], Box<Error>> {
4848
let len = self.decode_u32()?;
4949

5050
let Some((bytes, rest)) = self.buf.split_at_checked(len as usize) else {
@@ -138,7 +138,7 @@ impl<'de> serde::de::Deserializer<'de> for &mut Decoder<'de> {
138138
{
139139
let bytes = self.decode_bytes()?;
140140

141-
visitor.visit_bytes(bytes)
141+
visitor.visit_borrowed_bytes(bytes)
142142
}
143143

144144
fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, Self::Error>
@@ -160,7 +160,7 @@ impl<'de> serde::de::Deserializer<'de> for &mut Decoder<'de> {
160160
return Error::InvalidStr.into();
161161
};
162162

163-
visitor.visit_str(value)
163+
visitor.visit_borrowed_str(value)
164164
}
165165

166166
fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, Self::Error>

0 commit comments

Comments
 (0)