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