about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJon Bauman <baumanj@users.noreply.github.com>2025-05-06 13:19:42 -0700
committerGitHub <noreply@github.com>2025-05-06 13:19:42 -0700
commit6a4af821b00a1e55f44c80846c1a438a3c41dee5 (patch)
treefddba15a9a487dbcb60def9d83e527ad4a772dc2
parentdd20225681cf581066afab23db0c0d854806370d (diff)
downloadrust-6a4af821b00a1e55f44c80846c1a438a3c41dee5.tar.gz
rust-6a4af821b00a1e55f44c80846c1a438a3c41dee5.zip
Update rc.rs docs
Update comment per review feedback
-rw-r--r--library/alloc/src/rc.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/library/alloc/src/rc.rs b/library/alloc/src/rc.rs
index 247afc62832..4b8ea708e7e 100644
--- a/library/alloc/src/rc.rs
+++ b/library/alloc/src/rc.rs
@@ -3536,11 +3536,11 @@ impl<T> Default for Weak<T> {
     }
 }
 
-// NOTE: We wrapping_add here to deal with mem::forget safely. In particular
-// if you mem::forget Rcs (or Weaks), the ref-count can overflow, and then
-// you can free the allocation while outstanding Rcs (or Weaks) exist.
-// We abort because this is such a degenerate scenario that we don't care about
-// what happens -- no real program should ever experience this.
+// NOTE: If you mem::forget Rcs (or Weaks), drop is skipped and the ref-count
+// is not decremented, meaning the ref-count can overflow, and then you can
+// free the allocation while outstanding Rcs (or Weaks) exist, which would be
+// unsound. We abort because this is such a degenerate scenario that we don't
+// care about what happens -- no real program should ever experience this.
 //
 // This should have negligible overhead since you don't actually need to
 // clone these much in Rust thanks to ownership and move-semantics.