@@ -1485,8 +1485,9 @@ impl<T> Weak<T> {
14851485
14861486 /// Consumes the `Weak<T>` and turns it into a raw pointer.
14871487 ///
1488- /// This converts the weak pointer into a raw pointer, preserving the original weak count. It
1489- /// can be turned back into the `Weak<T>` with [`from_raw`].
1488+ /// This converts the weak pointer into a raw pointer, while still preserving the ownership of
1489+ /// one weak reference (the weak count is not modified by this operation). It can be turned
1490+ /// back into the `Weak<T>` with [`from_raw`].
14901491 ///
14911492 /// The same restrictions of accessing the target of the pointer as with
14921493 /// [`as_ptr`] apply.
@@ -1516,24 +1517,23 @@ impl<T> Weak<T> {
15161517 result
15171518 }
15181519
1519- /// Converts a raw pointer previously created by [`into_raw`] back into
1520- /// `Weak<T>`.
1520+ /// Converts a raw pointer previously created by [`into_raw`] back into `Weak<T>`.
15211521 ///
15221522 /// This can be used to safely get a strong reference (by calling [`upgrade`]
15231523 /// later) or to deallocate the weak count by dropping the `Weak<T>`.
15241524 ///
1525- /// It takes ownership of one weak count (with the exception of pointers created by [`new`],
1526- /// as these don't have any corresponding weak count ).
1525+ /// It takes ownership of one weak reference (with the exception of pointers created by [`new`],
1526+ /// as these don't own anything; the method still works on them ).
15271527 ///
15281528 /// # Safety
15291529 ///
15301530 /// The pointer must have originated from the [`into_raw`] and must still own its potential
1531- /// weak reference count.
1532- ///
1533- /// It is allowed for the strong count to be 0 at the time of calling this, but the weak count
1534- /// must be non-zero or the pointer must have originated from a dangling `Weak<T>` (one created
1535- /// by [`new`]).
1531+ /// weak reference.
15361532 ///
1533+ /// It is allowed for the strong count to be 0 at the time of calling this. Nevertheless, this
1534+ /// takes ownership of one weak reference currently represented as a raw pointer (the weak
1535+ /// count is not modified by this operation) and therefore it must be paired with a previous
1536+ /// call to [`into_raw`].
15371537 /// # Examples
15381538 ///
15391539 /// ```
0 commit comments