about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/rc.rs8
-rw-r--r--src/liballoc/sync.rs8
2 files changed, 6 insertions, 10 deletions
diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs
index 423122a6900..8f7b8efd811 100644
--- a/src/liballoc/rc.rs
+++ b/src/liballoc/rc.rs
@@ -592,11 +592,9 @@ impl<T: ?Sized> Rc<T> {
     pub fn as_ptr(this: &Self) -> *const T {
         let ptr: *mut RcBox<T> = NonNull::as_ptr(this.ptr);
 
-        // SAFETY: This cannot go through Deref::deref.
-        // Instead, we manually offset the pointer rather than manifesting a reference.
-        // This is so that the returned pointer retains the same provenance as our pointer.
-        // This is required so that e.g. `get_mut` can write through the pointer
-        // after the Rc is recovered through `from_raw`.
+        // SAFETY: This cannot go through Deref::deref or Rc::inner.
+        // This is required to retain raw/mut provenance such that e.g. `get_mut` can
+        // write through the pointer after the Rc is recovered through `from_raw`.
         unsafe { &raw const (*ptr).value }
     }
 
diff --git a/src/liballoc/sync.rs b/src/liballoc/sync.rs
index 289aea3afcc..27c36f4a569 100644
--- a/src/liballoc/sync.rs
+++ b/src/liballoc/sync.rs
@@ -591,11 +591,9 @@ impl<T: ?Sized> Arc<T> {
     pub fn as_ptr(this: &Self) -> *const T {
         let ptr: *mut ArcInner<T> = NonNull::as_ptr(this.ptr);
 
-        // SAFETY: This cannot go through Deref::deref.
-        // Instead, we manually offset the pointer rather than manifesting a reference.
-        // This is so that the returned pointer retains the same provenance as our pointer.
-        // This is required so that e.g. `get_mut` can write through the pointer
-        // after the Arc is recovered through `from_raw`.
+        // SAFETY: This cannot go through Deref::deref or RcBoxPtr::inner.
+        // This is required to retain raw/mut provenance such that e.g. `get_mut` can
+        // write through the pointer after the Rc is recovered through `from_raw`.
         unsafe { &raw const (*ptr).data }
     }