@@ -1462,8 +1462,9 @@ impl<T> Weak<T> {
14621462
14631463 /// Consumes the `Weak<T>` and turns it into a raw pointer.
14641464 ///
1465- /// This converts the weak pointer into a raw pointer, preserving the original weak count. It
1466- /// can be turned back into the `Weak<T>` with [`from_raw`].
1465+ /// This converts the weak pointer into a raw pointer, while still preserving the ownership of
1466+ /// one weak reference (the weak count is not modified by this operation). It can be turned
1467+ /// back into the `Weak<T>` with [`from_raw`].
14671468 ///
14681469 /// The same restrictions of accessing the target of the pointer as with
14691470 /// [`as_ptr`] apply.
@@ -1493,24 +1494,23 @@ impl<T> Weak<T> {
14931494 result
14941495 }
14951496
1496- /// Converts a raw pointer previously created by [`into_raw`] back into
1497- /// `Weak<T>`.
1497+ /// Converts a raw pointer previously created by [`into_raw`] back into `Weak<T>`.
14981498 ///
14991499 /// This can be used to safely get a strong reference (by calling [`upgrade`]
15001500 /// later) or to deallocate the weak count by dropping the `Weak<T>`.
15011501 ///
1502- /// It takes ownership of one weak count (with the exception of pointers created by [`new`],
1503- /// as these don't have any corresponding weak count ).
1502+ /// It takes ownership of one weak reference (with the exception of pointers created by [`new`],
1503+ /// as these don't own anything; the method still works on them ).
15041504 ///
15051505 /// # Safety
15061506 ///
15071507 /// The pointer must have originated from the [`into_raw`] and must still own its potential
1508- /// weak reference count.
1509- ///
1510- /// It is allowed for the strong count to be 0 at the time of calling this, but the weak count
1511- /// must be non-zero or the pointer must have originated from a dangling `Weak<T>` (one created
1512- /// by [`new`]).
1508+ /// weak reference.
15131509 ///
1510+ /// It is allowed for the strong count to be 0 at the time of calling this. Nevertheless, this
1511+ /// takes ownership of one weak reference currently represented as a raw pointer (the weak
1512+ /// count is not modified by this operation) and therefore it must be paired with a previous
1513+ /// call to [`into_raw`].
15141514 /// # Examples
15151515 ///
15161516 /// ```
0 commit comments