]> git.lizzy.rs Git - rust.git/commitdiff
Add Default trait for AtomicBool, AtomicIsize and AtomicUsize
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Fri, 10 Apr 2015 17:23:22 +0000 (19:23 +0200)
committerGuillaume Gomez <guillaume1.gomez@gmail.com>
Fri, 10 Apr 2015 17:26:06 +0000 (19:26 +0200)
src/libcore/atomic.rs

index ed35e095492178479acf620e9acc579018dbb0a8..02f9ee506f990f625caa9ff8f612da0f5d3590b3 100644 (file)
 use cell::UnsafeCell;
 use marker::PhantomData;
 
+use default::Default;
+
 /// A boolean type which can be safely shared between threads.
 #[stable(feature = "rust1", since = "1.0.0")]
 pub struct AtomicBool {
     v: UnsafeCell<usize>,
 }
 
+impl Default for AtomicBool {
+    fn default() -> AtomicBool {
+        ATOMIC_BOOL_INIT
+    }
+}
+
 unsafe impl Sync for AtomicBool {}
 
 /// A signed integer type which can be safely shared between threads.
@@ -92,6 +100,12 @@ pub struct AtomicIsize {
     v: UnsafeCell<isize>,
 }
 
+impl Default for AtomicIsize {
+    fn default() -> AtomicIsize {
+        ATOMIC_ISIZE_INIT
+    }
+}
+
 unsafe impl Sync for AtomicIsize {}
 
 /// An unsigned integer type which can be safely shared between threads.
@@ -100,6 +114,12 @@ pub struct AtomicUsize {
     v: UnsafeCell<usize>,
 }
 
+impl Default for AtomicUsize {
+    fn default() -> AtomicUsize {
+        ATOMIC_USIZE_INIT
+    }
+}
+
 unsafe impl Sync for AtomicUsize {}
 
 /// A raw pointer type which can be safely shared between threads.