aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alice Ryhl <aliceryhl@google.com> 2022-04-29 19:49:28 +0200
committerGravatar Alice Ryhl <aliceryhl@google.com> 2022-04-29 19:49:28 +0200
commitb4b2c18c27cc0a33d68e7f0db29e0b6626fef6e8 (patch)
treee418ac9c5763d686ff119ce14c5395694742a9be
parent89061c323861c4e9555881fef940836f1cd132cc (diff)
downloadbytes-b4b2c18c27cc0a33d68e7f0db29e0b6626fef6e8.tar.gz
bytes-b4b2c18c27cc0a33d68e7f0db29e0b6626fef6e8.tar.zst
bytes-b4b2c18c27cc0a33d68e7f0db29e0b6626fef6e8.zip
Revert accidental push directly to master
This reverts commit 89061c323861c4e9555881fef940836f1cd132cc. Why am I even able to push to master?
-rw-r--r--src/bytes.rs15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/bytes.rs b/src/bytes.rs
index 4e7a3e5..0f2ee3a 100644
--- a/src/bytes.rs
+++ b/src/bytes.rs
@@ -1104,25 +1104,14 @@ unsafe fn release_shared(ptr: *mut Shared) {
Box::from_raw(ptr);
}
-#[cfg(miri)]
fn ptr_map<F>(ptr: *mut u8, f: F) -> *mut u8
where
F: FnOnce(usize) -> usize,
{
let old_addr = ptr as usize;
let new_addr = f(old_addr);
- let diff = new_addr.wrapping_sub(old_addr);
- ptr.wrapping_add(diff)
-}
-
-#[cfg(not(miri))]
-fn ptr_map<F>(ptr: *mut u8, f: F) -> *mut u8
-where
- F: FnOnce(usize) -> usize,
-{
- let old_addr = ptr as usize;
- let new_addr = f(old_addr);
- new_addr as *mut u8
+ // this optimizes better than `ptr.wrapping_add(new_addr.wrapping_sub(old_addr))`
+ ptr.wrapping_sub(old_addr).wrapping_add(new_addr)
}
// compile-fails