From a068fc70ab38adea73f84a8f8c6f826454ce563b Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 6 Aug 2016 12:49:17 +0200 Subject: Doc: explain why Box/Rc/Arc methods do not take self This can be confusing for newcomers, especially due to the argument name "this". --- src/liballoc/arc.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/liballoc/arc.rs') diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs index 9c9f1e7b9de..b54b71cabd1 100644 --- a/src/liballoc/arc.rs +++ b/src/liballoc/arc.rs @@ -71,6 +71,12 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize; /// does not use atomics, making it both thread-unsafe as well as significantly /// faster when updating the reference count. /// +/// Note: the inherent methods defined on `Arc` are all associated functions, +/// which means that you have to call them as e.g. `Arc::get_mut(&value)` +/// instead of `value.get_mut()`. This is so that there are no conflicts with +/// methods on the inner type `T`, which are what you want to call in the +/// majority of cases. +/// /// # Examples /// /// In this example, a large vector of data will be shared by several threads. First we -- cgit 1.4.1-3-g733a5