Skip to content

Commit 2369f01

Browse files
authored
Merge pull request #860 from Dr-Emann/push-oqkoknnmvqxm
Simplify Deserializer::peek to avoid unreachable
2 parents a018365 + 254fbd2 commit 2369f01

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

src/de/mod.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2594,16 +2594,9 @@ where
25942594
}
25952595
#[cfg(not(feature = "overlapped-lists"))]
25962596
fn peek(&mut self) -> Result<&DeEvent<'de>, DeError> {
2597-
if self.peek.is_none() {
2598-
self.peek = Some(self.reader.next()?);
2599-
}
2600-
match self.peek.as_ref() {
2601-
Some(v) => Ok(v),
2602-
// SAFETY: a `None` variant for `self.peek` would have been replaced
2603-
// by a `Some` variant in the code above.
2604-
// TODO: Can be replaced with `unsafe { std::hint::unreachable_unchecked() }`
2605-
// if unsafe code will be allowed
2606-
None => unreachable!(),
2597+
match &mut self.peek {
2598+
Some(event) => Ok(event),
2599+
empty_peek @ None => Ok(empty_peek.insert(self.reader.next()?)),
26072600
}
26082601
}
26092602

0 commit comments

Comments
 (0)