about summary refs log tree commit diff
path: root/library/alloc
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2025-06-26 20:15:20 -0400
committerGitHub <noreply@github.com>2025-06-26 20:15:20 -0400
commit58cda76585336dd7ea4748c3616f65e90b3a8116 (patch)
tree12df6c135b75f096771f1301b027152ac3cfe20a /library/alloc
parent25e239c193b3e22d0dc5e8e3eaebd66ed9b7374b (diff)
parent644469e9613253321d09887ffe0fb2c98528ee21 (diff)
downloadrust-58cda76585336dd7ea4748c3616f65e90b3a8116.tar.gz
rust-58cda76585336dd7ea4748c3616f65e90b3a8116.zip
Rollup merge of #142700 - theemathas:remove-weak-comment, r=ibraheemdev
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,
 }