@@ -683,16 +683,6 @@ impl<T> Arc<T> {
683683}
684684
685685impl < T , A : Allocator > Arc < T , A > {
686- /// Returns a reference to the underlying allocator.
687- ///
688- /// Note: this is an associated function, which means that you have
689- /// to call it as `Arc::allocator(&a)` instead of `a.allocator()`. This
690- /// is so that there is no conflict with a method on the inner type.
691- #[ inline]
692- #[ unstable( feature = "allocator_api" , issue = "32838" ) ]
693- pub fn allocator ( this : & Self ) -> & A {
694- & this. alloc
695- }
696686 /// Constructs a new `Arc<T>` in the provided allocator.
697687 ///
698688 /// # Examples
@@ -1473,6 +1463,17 @@ impl<T: ?Sized> Arc<T> {
14731463}
14741464
14751465impl < T : ?Sized , A : Allocator > Arc < T , A > {
1466+ /// Returns a reference to the underlying allocator.
1467+ ///
1468+ /// Note: this is an associated function, which means that you have
1469+ /// to call it as `Arc::allocator(&a)` instead of `a.allocator()`. This
1470+ /// is so that there is no conflict with a method on the inner type.
1471+ #[ inline]
1472+ #[ unstable( feature = "allocator_api" , issue = "32838" ) ]
1473+ pub fn allocator ( this : & Self ) -> & A {
1474+ & this. alloc
1475+ }
1476+
14761477 /// Consumes the `Arc`, returning the wrapped pointer.
14771478 ///
14781479 /// To avoid a memory leak the pointer must be converted back to an `Arc` using
@@ -2661,6 +2662,13 @@ impl<T: ?Sized> Weak<T> {
26612662}
26622663
26632664impl < T : ?Sized , A : Allocator > Weak < T , A > {
2665+ /// Returns a reference to the underlying allocator.
2666+ #[ inline]
2667+ #[ unstable( feature = "allocator_api" , issue = "32838" ) ]
2668+ pub fn allocator ( & self ) -> & A {
2669+ & self . alloc
2670+ }
2671+
26642672 /// Returns a raw pointer to the object `T` pointed to by this `Weak<T>`.
26652673 ///
26662674 /// The pointer is valid only if there are some strong references. The pointer may be dangling,
0 commit comments