diff options
| author | Mike Hommey <mh@glandium.org> | 2023-07-18 09:56:55 +0900 |
|---|---|---|
| committer | Mike Hommey <mh@glandium.org> | 2023-07-18 09:58:27 +0900 |
| commit | b1398cac9d529fb818b0fdde44255e99fa63641e (patch) | |
| tree | 7afe485183da5c1b5238f1c440499f32db3e88f2 | |
| parent | da6b55cc5eaf76ed6acb7dc2f7d611e32af7c9a7 (diff) | |
| download | rust-b1398cac9d529fb818b0fdde44255e99fa63641e.tar.gz rust-b1398cac9d529fb818b0fdde44255e99fa63641e.zip | |
Make {Rc,Arc}::allocator associated functions
| -rw-r--r-- | library/alloc/src/rc.rs | 8 | ||||
| -rw-r--r-- | library/alloc/src/sync.rs | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/library/alloc/src/rc.rs b/library/alloc/src/rc.rs index b3ec830a7d7..bf01b2082ed 100644 --- a/library/alloc/src/rc.rs +++ b/library/alloc/src/rc.rs @@ -661,10 +661,14 @@ impl<T> Rc<T> { impl<T, A: Allocator> Rc<T, A> { /// Returns a reference to the underlying allocator. + /// + /// Note: this is an associated function, which means that you have + /// to call it as `Rc::allocator(&r)` instead of `r.allocator()`. This + /// is so that there is no conflict with a method on the inner type. #[inline] #[unstable(feature = "allocator_api", issue = "32838")] - pub fn allocator(&self) -> &A { - &self.alloc + pub fn allocator(this: &Self) -> &A { + &this.alloc } /// Constructs a new `Rc` in the provided allocator. /// diff --git a/library/alloc/src/sync.rs b/library/alloc/src/sync.rs index e00850eb5d8..c2202f2fce5 100644 --- a/library/alloc/src/sync.rs +++ b/library/alloc/src/sync.rs @@ -678,10 +678,14 @@ impl<T> Arc<T> { impl<T, A: Allocator> Arc<T, A> { /// Returns a reference to the underlying allocator. + /// + /// Note: this is an associated function, which means that you have + /// to call it as `Arc::allocator(&a)` instead of `a.allocator()`. This + /// is so that there is no conflict with a method on the inner type. #[inline] #[unstable(feature = "allocator_api", issue = "32838")] - pub fn allocator(&self) -> &A { - &self.alloc + pub fn allocator(this: &Self) -> &A { + &this.alloc } /// Constructs a new `Arc<T>` in the provided allocator. /// |
