Skip to content

Commit b17fae9

Browse files
committed
Move Arc::allocator to T: ?Sized
1 parent 1920ce9 commit b17fae9

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

library/alloc/src/sync.rs

+11-10
Original file line numberDiff line numberDiff line change
@@ -683,16 +683,6 @@ impl<T> Arc<T> {
683683
}
684684

685685
impl<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
@@ -1465,6 +1455,17 @@ impl<T: ?Sized> Arc<T> {
14651455
}
14661456

14671457
impl<T: ?Sized, A: Allocator> Arc<T, A> {
1458+
/// Returns a reference to the underlying allocator.
1459+
///
1460+
/// Note: this is an associated function, which means that you have
1461+
/// to call it as `Arc::allocator(&a)` instead of `a.allocator()`. This
1462+
/// is so that there is no conflict with a method on the inner type.
1463+
#[inline]
1464+
#[unstable(feature = "allocator_api", issue = "32838")]
1465+
pub fn allocator(this: &Self) -> &A {
1466+
&this.alloc
1467+
}
1468+
14681469
/// Consumes the `Arc`, returning the wrapped pointer.
14691470
///
14701471
/// To avoid a memory leak the pointer must be converted back to an `Arc` using

0 commit comments

Comments
 (0)