diff options
| author | Tim (Theemathas) Chirananthavat <theemathas@gmail.com> | 2025-06-19 12:04:24 +0700 |
|---|---|---|
| committer | Tim (Theemathas) Chirananthavat <theemathas@gmail.com> | 2025-06-19 12:04:24 +0700 |
| commit | 644469e9613253321d09887ffe0fb2c98528ee21 (patch) | |
| tree | a62137515925656614dd568178d427ffac0ba41d /library/alloc | |
| parent | d1d8e386c5e84c4ba857f56c3291f73c27e2d62a (diff) | |
| download | rust-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.rs | 1 | ||||
| -rw-r--r-- | library/alloc/src/sync.rs | 1 |
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, } |
