aboutsummaryrefslogtreecommitdiff
path: root/src/bytes.rs
diff options
context:
space:
mode:
authorGravatar Brad Dunbar <dunbarb2@gmail.com> 2024-04-24 08:23:39 -0400
committerGravatar GitHub <noreply@github.com> 2024-04-24 08:23:39 -0400
commitce09d7d358ab1d1d31ed9d0b52a747c0a21ea401 (patch)
tree6e51d996073d099e7ffcf19c406efedc8fca131f /src/bytes.rs
parent9d3ec1cffb76141b4706bb289beced8b04ecac4a (diff)
downloadbytes-ce09d7d358ab1d1d31ed9d0b52a747c0a21ea401.tar.gz
bytes-ce09d7d358ab1d1d31ed9d0b52a747c0a21ea401.tar.zst
bytes-ce09d7d358ab1d1d31ed9d0b52a747c0a21ea401.zip
Bytes::split_off - check fast path first (#693)
Follow up to https://github.com/tokio-rs/bytes/pull/689 * If `at == self.len()`, we already know `at <= self.len()`. * If `at == 0`, we already know `at <= self.len()`.
Diffstat (limited to '')
-rw-r--r--src/bytes.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/bytes.rs b/src/bytes.rs
index c3240ce..908cee9 100644
--- a/src/bytes.rs
+++ b/src/bytes.rs
@@ -385,13 +385,6 @@ impl Bytes {
/// Panics if `at > len`.
#[must_use = "consider Bytes::truncate if you don't need the other half"]
pub fn split_off(&mut self, at: usize) -> Self {
- assert!(
- at <= self.len(),
- "split_off out of bounds: {:?} <= {:?}",
- at,
- self.len(),
- );
-
if at == self.len() {
return Bytes::new();
}
@@ -400,6 +393,13 @@ impl Bytes {
return mem::replace(self, Bytes::new());
}
+ assert!(
+ at <= self.len(),
+ "split_off out of bounds: {:?} <= {:?}",
+ at,
+ self.len(),
+ );
+
let mut ret = self.clone();
self.len = at;