Skip to content

Commit

Permalink
Bytes::split_to - check fast path first (tokio-rs#689)
Browse files Browse the repository at this point in the history
If `at == self.len()` then we already know `at <= self.len()`. If
`at == 0`, it can't be greater than `self.len()`.
  • Loading branch information
braddunbar committed Apr 10, 2024
1 parent e4af486 commit 4eb62b9
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/bytes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -434,13 +434,6 @@ impl Bytes {
/// Panics if `at > len`.
#[must_use = "consider Bytes::advance if you don't need the other half"]
pub fn split_to(&mut self, at: usize) -> Self {
assert!(
at <= self.len(),
"split_to out of bounds: {:?} <= {:?}",
at,
self.len(),
);

if at == self.len() {
return mem::replace(self, Bytes::new());
}
Expand All @@ -449,6 +442,13 @@ impl Bytes {
return Bytes::new();
}

assert!(
at <= self.len(),
"split_to out of bounds: {:?} <= {:?}",
at,
self.len(),
);

let mut ret = self.clone();

unsafe { self.inc_start(at) };
Expand Down

0 comments on commit 4eb62b9

Please sign in to comment.