diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-01-05 11:39:52 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-01-05 11:39:52 -0800 |
| commit | 4236c52e34cd005af86ea9e5f199daeea9bb8fcb (patch) | |
| tree | 7abcc4cc13abae30ba5a5a99cdda48f3b25ebb43 /src | |
| parent | dc246ae0188500c2e3c62704aa9f8b2f02fd586c (diff) | |
| download | rust-4236c52e34cd005af86ea9e5f199daeea9bb8fcb.tar.gz rust-4236c52e34cd005af86ea9e5f199daeea9bb8fcb.zip | |
std: Move Atomic{Int,Uint} back to unstable
The int/uint story is under heavy development, and these types are likely to be renamed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/atomic.rs | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/src/libcore/atomic.rs b/src/libcore/atomic.rs index fbb8f9d8cf7..15c20253c8b 100644 --- a/src/libcore/atomic.rs +++ b/src/libcore/atomic.rs @@ -86,7 +86,7 @@ pub struct AtomicBool { unsafe impl Sync for AtomicBool {} /// A signed integer type which can be safely shared between threads. -#[stable] +#[unstable = "awaiting int/uint conventions, may be renamed"] pub struct AtomicInt { v: UnsafeCell<int>, } @@ -94,7 +94,7 @@ pub struct AtomicInt { unsafe impl Sync for AtomicInt {} /// An unsigned integer type which can be safely shared between threads. -#[stable] +#[unstable = "awaiting int/uint conventions, may be renamed"] pub struct AtomicUint { v: UnsafeCell<uint>, } @@ -150,11 +150,11 @@ pub enum Ordering { pub const ATOMIC_BOOL_INIT: AtomicBool = AtomicBool { v: UnsafeCell { value: 0 } }; /// An `AtomicInt` initialized to `0`. -#[stable] +#[unstable = "awaiting int/uint conventions, may be renamed"] pub const ATOMIC_INT_INIT: AtomicInt = AtomicInt { v: UnsafeCell { value: 0 } }; /// An `AtomicUint` initialized to `0`. -#[stable] +#[unstable = "awaiting int/uint conventions, may be renamed"] pub const ATOMIC_UINT_INIT: AtomicUint = AtomicUint { v: UnsafeCell { value: 0, } }; @@ -403,6 +403,7 @@ impl AtomicBool { } } +#[unstable = "awaiting int/uint conventions, types may change"] impl AtomicInt { /// Creates a new `AtomicInt`. /// @@ -414,7 +415,6 @@ impl AtomicInt { /// let atomic_forty_two = AtomicInt::new(42); /// ``` #[inline] - #[stable] pub fn new(v: int) -> AtomicInt { AtomicInt {v: UnsafeCell::new(v)} } @@ -437,7 +437,6 @@ impl AtomicInt { /// let value = some_int.load(Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn load(&self, order: Ordering) -> int { unsafe { atomic_load(self.v.get() as *const int, order) } } @@ -460,7 +459,6 @@ impl AtomicInt { /// /// Panics if `order` is `Acquire` or `AcqRel`. #[inline] - #[stable] pub fn store(&self, val: int, order: Ordering) { unsafe { atomic_store(self.v.get(), val, order); } } @@ -479,7 +477,6 @@ impl AtomicInt { /// let value = some_int.swap(10, Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn swap(&self, val: int, order: Ordering) -> int { unsafe { atomic_swap(self.v.get(), val, order) } } @@ -501,7 +498,6 @@ impl AtomicInt { /// let value = some_int.compare_and_swap(5, 10, Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn compare_and_swap(&self, old: int, new: int, order: Ordering) -> int { unsafe { atomic_compare_and_swap(self.v.get(), old, new, order) } } @@ -518,7 +514,6 @@ impl AtomicInt { /// assert_eq!(10, foo.load(Ordering::SeqCst)); /// ``` #[inline] - #[stable] pub fn fetch_add(&self, val: int, order: Ordering) -> int { unsafe { atomic_add(self.v.get(), val, order) } } @@ -535,7 +530,6 @@ impl AtomicInt { /// assert_eq!(-10, foo.load(Ordering::SeqCst)); /// ``` #[inline] - #[stable] pub fn fetch_sub(&self, val: int, order: Ordering) -> int { unsafe { atomic_sub(self.v.get(), val, order) } } @@ -551,7 +545,6 @@ impl AtomicInt { /// assert_eq!(0b101101, foo.fetch_and(0b110011, Ordering::SeqCst)); /// assert_eq!(0b100001, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_and(&self, val: int, order: Ordering) -> int { unsafe { atomic_and(self.v.get(), val, order) } } @@ -567,7 +560,6 @@ impl AtomicInt { /// assert_eq!(0b101101, foo.fetch_or(0b110011, Ordering::SeqCst)); /// assert_eq!(0b111111, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_or(&self, val: int, order: Ordering) -> int { unsafe { atomic_or(self.v.get(), val, order) } } @@ -583,12 +575,12 @@ impl AtomicInt { /// assert_eq!(0b101101, foo.fetch_xor(0b110011, Ordering::SeqCst)); /// assert_eq!(0b011110, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_xor(&self, val: int, order: Ordering) -> int { unsafe { atomic_xor(self.v.get(), val, order) } } } +#[unstable = "awaiting int/uint conventions, types may change"] impl AtomicUint { /// Creates a new `AtomicUint`. /// @@ -600,7 +592,6 @@ impl AtomicUint { /// let atomic_forty_two = AtomicUint::new(42u); /// ``` #[inline] - #[stable] pub fn new(v: uint) -> AtomicUint { AtomicUint { v: UnsafeCell::new(v) } } @@ -623,7 +614,6 @@ impl AtomicUint { /// let value = some_uint.load(Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn load(&self, order: Ordering) -> uint { unsafe { atomic_load(self.v.get() as *const uint, order) } } @@ -646,7 +636,6 @@ impl AtomicUint { /// /// Panics if `order` is `Acquire` or `AcqRel`. #[inline] - #[stable] pub fn store(&self, val: uint, order: Ordering) { unsafe { atomic_store(self.v.get(), val, order); } } @@ -665,7 +654,6 @@ impl AtomicUint { /// let value = some_uint.swap(10, Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn swap(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_swap(self.v.get(), val, order) } } @@ -687,7 +675,6 @@ impl AtomicUint { /// let value = some_uint.compare_and_swap(5, 10, Ordering::Relaxed); /// ``` #[inline] - #[stable] pub fn compare_and_swap(&self, old: uint, new: uint, order: Ordering) -> uint { unsafe { atomic_compare_and_swap(self.v.get(), old, new, order) } } @@ -704,7 +691,6 @@ impl AtomicUint { /// assert_eq!(10, foo.load(Ordering::SeqCst)); /// ``` #[inline] - #[stable] pub fn fetch_add(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_add(self.v.get(), val, order) } } @@ -721,7 +707,6 @@ impl AtomicUint { /// assert_eq!(0, foo.load(Ordering::SeqCst)); /// ``` #[inline] - #[stable] pub fn fetch_sub(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_sub(self.v.get(), val, order) } } @@ -737,7 +722,6 @@ impl AtomicUint { /// assert_eq!(0b101101, foo.fetch_and(0b110011, Ordering::SeqCst)); /// assert_eq!(0b100001, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_and(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_and(self.v.get(), val, order) } } @@ -753,7 +737,6 @@ impl AtomicUint { /// assert_eq!(0b101101, foo.fetch_or(0b110011, Ordering::SeqCst)); /// assert_eq!(0b111111, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_or(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_or(self.v.get(), val, order) } } @@ -769,7 +752,6 @@ impl AtomicUint { /// assert_eq!(0b101101, foo.fetch_xor(0b110011, Ordering::SeqCst)); /// assert_eq!(0b011110, foo.load(Ordering::SeqCst)); #[inline] - #[stable] pub fn fetch_xor(&self, val: uint, order: Ordering) -> uint { unsafe { atomic_xor(self.v.get(), val, order) } } |
