1515pub use self :: Ordering :: * ;
1616
1717use intrinsics;
18- use std:: kinds:: marker;
1918use cell:: UnsafeCell ;
2019use kinds:: Copy ;
2120
2221/// A boolean type which can be safely shared between threads.
2322#[ stable]
2423pub struct AtomicBool {
2524 v : UnsafeCell < uint > ,
26- nocopy : marker:: NoCopy
2725}
2826
2927/// A signed integer type which can be safely shared between threads.
3028#[ stable]
3129pub struct AtomicInt {
3230 v : UnsafeCell < int > ,
33- nocopy : marker:: NoCopy
3431}
3532
3633/// An unsigned integer type which can be safely shared between threads.
3734#[ stable]
3835pub struct AtomicUint {
3936 v : UnsafeCell < uint > ,
40- nocopy : marker:: NoCopy
4137}
4238
4339/// A raw pointer type which can be safely shared between threads.
4440#[ stable]
4541pub struct AtomicPtr < T > {
4642 p : UnsafeCell < uint > ,
47- nocopy : marker:: NoCopy
4843}
4944
5045/// Atomic memory orderings
@@ -87,15 +82,15 @@ impl Copy for Ordering {}
8782/// An `AtomicBool` initialized to `false`.
8883#[ unstable = "may be renamed, pending conventions for static initalizers" ]
8984pub const INIT_ATOMIC_BOOL : AtomicBool =
90- AtomicBool { v : UnsafeCell { value : 0 } , nocopy : marker :: NoCopy } ;
85+ AtomicBool { v : UnsafeCell { value : 0 } } ;
9186/// An `AtomicInt` initialized to `0`.
9287#[ unstable = "may be renamed, pending conventions for static initalizers" ]
9388pub const INIT_ATOMIC_INT : AtomicInt =
94- AtomicInt { v : UnsafeCell { value : 0 } , nocopy : marker :: NoCopy } ;
89+ AtomicInt { v : UnsafeCell { value : 0 } } ;
9590/// An `AtomicUint` initialized to `0`.
9691#[ unstable = "may be renamed, pending conventions for static initalizers" ]
9792pub const INIT_ATOMIC_UINT : AtomicUint =
98- AtomicUint { v : UnsafeCell { value : 0 , } , nocopy : marker :: NoCopy } ;
93+ AtomicUint { v : UnsafeCell { value : 0 , } } ;
9994
10095// NB: Needs to be -1 (0b11111111...) to make fetch_nand work correctly
10196const UINT_TRUE : uint = -1 ;
@@ -115,7 +110,7 @@ impl AtomicBool {
115110 #[ stable]
116111 pub fn new ( v : bool ) -> AtomicBool {
117112 let val = if v { UINT_TRUE } else { 0 } ;
118- AtomicBool { v : UnsafeCell :: new ( val) , nocopy : marker :: NoCopy }
113+ AtomicBool { v : UnsafeCell :: new ( val) }
119114 }
120115
121116 /// Loads a value from the bool.
@@ -355,7 +350,7 @@ impl AtomicInt {
355350 #[ inline]
356351 #[ stable]
357352 pub fn new ( v : int ) -> AtomicInt {
358- AtomicInt { v : UnsafeCell :: new ( v) , nocopy : marker :: NoCopy }
353+ AtomicInt { v : UnsafeCell :: new ( v) }
359354 }
360355
361356 /// Loads a value from the int.
@@ -541,7 +536,7 @@ impl AtomicUint {
541536 #[ inline]
542537 #[ stable]
543538 pub fn new ( v : uint ) -> AtomicUint {
544- AtomicUint { v : UnsafeCell :: new ( v) , nocopy : marker :: NoCopy }
539+ AtomicUint { v : UnsafeCell :: new ( v) }
545540 }
546541
547542 /// Loads a value from the uint.
@@ -728,7 +723,7 @@ impl<T> AtomicPtr<T> {
728723 #[ inline]
729724 #[ stable]
730725 pub fn new ( p : * mut T ) -> AtomicPtr < T > {
731- AtomicPtr { p : UnsafeCell :: new ( p as uint ) , nocopy : marker :: NoCopy }
726+ AtomicPtr { p : UnsafeCell :: new ( p as uint ) }
732727 }
733728
734729 /// Loads a value from the pointer.
0 commit comments