Explicitly impl Clone for RWArc
RWArc had a clone() method, but it was part of impl RWArc instead of an implementation of Clone. Stick with the explicit implementation instead of deriving Clone so we can have a docstring. Fixes #8052.
This commit is contained in:
parent
1992765dd3
commit
75155cd1b0
@ -140,6 +140,7 @@ impl<T:Freeze+Send> Arc<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<T:Freeze + Send> Clone for Arc<T> {
|
||||||
/**
|
/**
|
||||||
* Duplicate an atomically reference counted wrapper.
|
* Duplicate an atomically reference counted wrapper.
|
||||||
*
|
*
|
||||||
@ -147,7 +148,6 @@ impl<T:Freeze+Send> Arc<T> {
|
|||||||
* object. However, one of the `arc` objects can be sent to another task,
|
* object. However, one of the `arc` objects can be sent to another task,
|
||||||
* allowing them to share the underlying data.
|
* allowing them to share the underlying data.
|
||||||
*/
|
*/
|
||||||
impl<T:Freeze + Send> Clone for Arc<T> {
|
|
||||||
fn clone(&self) -> Arc<T> {
|
fn clone(&self) -> Arc<T> {
|
||||||
Arc { x: self.x.clone() }
|
Arc { x: self.x.clone() }
|
||||||
}
|
}
|
||||||
@ -164,7 +164,7 @@ struct MutexArc<T> { priv x: UnsafeAtomicRcBox<MutexArcInner<T>> }
|
|||||||
|
|
||||||
|
|
||||||
impl<T:Send> Clone for MutexArc<T> {
|
impl<T:Send> Clone for MutexArc<T> {
|
||||||
/// Duplicate a mutex-protected Arc, as arc::clone.
|
/// Duplicate a mutex-protected Arc. See arc::clone for more details.
|
||||||
fn clone(&self) -> MutexArc<T> {
|
fn clone(&self) -> MutexArc<T> {
|
||||||
// NB: Cloning the underlying mutex is not necessary. Its reference
|
// NB: Cloning the underlying mutex is not necessary. Its reference
|
||||||
// count would be exactly the same as the shared state's.
|
// count would be exactly the same as the shared state's.
|
||||||
@ -312,12 +312,10 @@ struct RWArc<T> {
|
|||||||
priv x: UnsafeAtomicRcBox<RWArcInner<T>>,
|
priv x: UnsafeAtomicRcBox<RWArcInner<T>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T:Freeze + Send> RWArc<T> {
|
impl<T:Freeze + Send> Clone for RWArc<T> {
|
||||||
/// Duplicate a rwlock-protected Arc, as arc::clone.
|
/// Duplicate a rwlock-protected Arc. See arc::clone for more details.
|
||||||
pub fn clone(&self) -> RWArc<T> {
|
fn clone(&self) -> RWArc<T> {
|
||||||
RWArc {
|
RWArc { x: self.x.clone() }
|
||||||
x: self.x.clone(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user