From f1515fabb027e901a5cb47826f12ba89db2df078 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Fri, 10 Apr 2015 19:23:22 +0200 Subject: [PATCH] Add Default trait for AtomicBool, AtomicIsize and AtomicUsize --- src/libcore/atomic.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libcore/atomic.rs b/src/libcore/atomic.rs index ed35e095492..02f9ee506f9 100644 --- a/src/libcore/atomic.rs +++ b/src/libcore/atomic.rs @@ -78,12 +78,20 @@ use intrinsics; 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, } +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, } +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, } +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.