From d4641ba9fcb1fadd4161750df76963422721c65a Mon Sep 17 00:00:00 2001 From: Mattia Pitossi Date: Sat, 8 Nov 2025 23:49:09 +0100 Subject: [PATCH] util: use `::addr` instead of unsafe impl (#7725) --- tokio/src/util/ptr_expose.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tokio/src/util/ptr_expose.rs b/tokio/src/util/ptr_expose.rs index c69722fd1..4ea22bb4d 100644 --- a/tokio/src/util/ptr_expose.rs +++ b/tokio/src/util/ptr_expose.rs @@ -30,9 +30,7 @@ impl PtrExposeDomain { pub(crate) fn expose_provenance(&self, ptr: *const T) -> usize { #[cfg(miri)] { - // FIXME: Use `pointer:addr` when it is stable. - // SAFETY: Equivalent to `pointer::addr` which is safe. - let addr: usize = unsafe { std::mem::transmute(ptr) }; + let addr: usize = ptr.addr(); self.map.lock().insert(addr, ptr); addr } @@ -65,8 +63,7 @@ impl PtrExposeDomain { pub(crate) fn unexpose_provenance(&self, _ptr: *const T) { #[cfg(miri)] { - // SAFETY: Equivalent to `pointer::addr` which is safe. - let addr: usize = unsafe { std::mem::transmute(_ptr) }; + let addr: usize = _ptr.addr(); let maybe_ptr = self.map.lock().remove(&addr); // SAFETY: Intentionally trigger a miri failure if the provenance we want is not