about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-11-12 06:27:19 +0100
committerGitHub <noreply@github.com>2024-11-12 06:27:19 +0100
commit953064f00a59f20e3b7cbd8ddc8e5b26e445c20e (patch)
treecd60655f8cd2401fd4173319b2c231ab731ca3cc
parent52bb9fafd0857ea082a8fc457a6bb07ceca7e7d7 (diff)
parentb2d1874dc20824d10d2e96b9066e23e3a977f854 (diff)
downloadrust-953064f00a59f20e3b7cbd8ddc8e5b26e445c20e.tar.gz
rust-953064f00a59f20e3b7cbd8ddc8e5b26e445c20e.zip
Rollup merge of #132847 - RalfJung:addr-dont-expose, r=Mark-Simulacrum
elem_offset / subslice_range: use addr() instead of 'as usize'

There's no reason to use ptr-to-int casts with their subtle semantics here.
-rw-r--r--library/core/src/slice/mod.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/library/core/src/slice/mod.rs b/library/core/src/slice/mod.rs
index 52d2179b04d..ce9d04d01d7 100644
--- a/library/core/src/slice/mod.rs
+++ b/library/core/src/slice/mod.rs
@@ -4578,8 +4578,8 @@ impl<T> [T] {
             panic!("elements are zero-sized");
         }
 
-        let self_start = self.as_ptr() as usize;
-        let elem_start = element as *const T as usize;
+        let self_start = self.as_ptr().addr();
+        let elem_start = ptr::from_ref(element).addr();
 
         let byte_offset = elem_start.wrapping_sub(self_start);
 
@@ -4631,8 +4631,8 @@ impl<T> [T] {
             panic!("elements are zero-sized");
         }
 
-        let self_start = self.as_ptr() as usize;
-        let subslice_start = subslice.as_ptr() as usize;
+        let self_start = self.as_ptr().addr();
+        let subslice_start = subslice.as_ptr().addr();
 
         let byte_start = subslice_start.wrapping_sub(self_start);