Skip to content

Commit 7988fbe

Browse files
authored
Fix lifetime error in de.rs
1 parent 6cd77bc commit 7988fbe

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/de.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,23 @@ macro_rules! impl_for_deserialize_primitive {
166166
};
167167
}
168168

169+
impl<'a, 'de, It> serde::de::EnumAccess<'de> for &'a mut Deserializer<'de, It>
170+
where
171+
It: iter::FusedIterator + Iterator<Item = &'de [u8]>,
172+
{
173+
type Error = Error;
174+
type Variant = Self;
175+
176+
fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant)>
177+
where
178+
V: de::DeserializeSeed<'de>,
179+
{
180+
let idx: u32 = self.next_u32()?;
181+
let val: Result<_> = seed.deserialize(idx.into_deserializer());
182+
Ok((val?, self))
183+
}
184+
}
185+
169186
impl<'de, 'a, It> de::Deserializer<'de> for &'a mut Deserializer<'de, It>
170187
where
171188
It: iter::FusedIterator + Iterator<Item = &'de [u8]>,
@@ -316,23 +333,6 @@ where
316333
where
317334
V: Visitor<'de>,
318335
{
319-
impl<'a, 'de, It> serde::de::EnumAccess<'de> for &'a mut Deserializer<'de, It>
320-
where
321-
It: iter::FusedIterator + Iterator<Item = &'de [u8]>,
322-
{
323-
type Error = Error;
324-
type Variant = Self;
325-
326-
fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant)>
327-
where
328-
V: de::DeserializeSeed<'de>,
329-
{
330-
let idx: u32 = self.next_u32()?;
331-
let val: Result<_> = seed.deserialize(idx.into_deserializer());
332-
Ok((val?, self))
333-
}
334-
}
335-
336336
visitor.visit_enum(self)
337337
}
338338

@@ -471,7 +471,7 @@ mod tests {
471471

472472
/// Generate subslices, plus stuffing empty slices into the returned
473473
/// iterator.
474-
fn generate_subslices(mut bytes: &[u8], chunk_size: usize) -> impl Iterator<Item = &[u8]> {
474+
fn generate_subslices<'a>(mut bytes: &'a [u8], chunk_size: usize) -> impl Iterator<Item = &'a [u8]> {
475475
assert_ne!(chunk_size, 0);
476476

477477
Gn::new_scoped(move |mut s| loop {

0 commit comments

Comments
 (0)