about summary refs log tree commit diff
path: root/library/alloc
diff options
context:
space:
mode:
authorTim (Theemathas) Chirananthavat <theemathas@gmail.com>2025-06-19 12:04:24 +0700
committerTim (Theemathas) Chirananthavat <theemathas@gmail.com>2025-06-19 12:04:24 +0700
commit644469e9613253321d09887ffe0fb2c98528ee21 (patch)
treea62137515925656614dd568178d427ffac0ba41d /library/alloc
parentd1d8e386c5e84c4ba857f56c3291f73c27e2d62a (diff)
downloadrust-644469e9613253321d09887ffe0fb2c98528ee21.tar.gz
rust-644469e9613253321d09887ffe0fb2c98528ee21.zip
Remove incorrect comments in `Weak`
It is currently possible to create a dangling `Weak` to a DST by
calling `Weak::new()` for a sized type, then doing an unsized coercion.
Therefore, the comments are wrong.

These comments were added in <https://github.com/rust-lang/rust/pull/73845>.
As far as I can tell, the guarantee in the comment was only previously
used in the `as_ptr` method. However, the current implementation of
`as_ptr` no longer relies on this guarantee.
Diffstat (limited to 'library/alloc')
-rw-r--r--library/alloc/src/rc.rs1
-rw-r--r--library/alloc/src/sync.rs1
2 files changed, 0 insertions, 2 deletions
diff --git a/library/alloc/src/rc.rs b/library/alloc/src/rc.rs
index 4b8ea708e7e..010d17f7476 100644
--- a/library/alloc/src/rc.rs
+++ b/library/alloc/src/rc.rs
@@ -3004,7 +3004,6 @@ pub struct Weak<
     // `Weak::new` sets this to `usize::MAX` so that it doesn’t need
     // to allocate space on the heap. That's not a value a real pointer
     // will ever have because RcInner has alignment at least 2.
-    // This is only possible when `T: Sized`; unsized `T` never dangle.
     ptr: NonNull<RcInner<T>>,
     alloc: A,
 }
diff --git a/library/alloc/src/sync.rs b/library/alloc/src/sync.rs
index 17090925cfa..1e3c03977bd 100644
--- a/library/alloc/src/sync.rs
+++ b/library/alloc/src/sync.rs
@@ -342,7 +342,6 @@ pub struct Weak<
     // `Weak::new` sets this to `usize::MAX` so that it doesn’t need
     // to allocate space on the heap. That's not a value a real pointer
     // will ever have because RcInner has alignment at least 2.
-    // This is only possible when `T: Sized`; unsized `T` never dangle.
     ptr: NonNull<ArcInner<T>>,
     alloc: A,
 }