diff options
| author | Keegan McAllister <kmcallister@mozilla.com> | 2014-11-23 10:21:47 -0800 |
|---|---|---|
| committer | Keegan McAllister <kmcallister@mozilla.com> | 2014-11-23 10:47:08 -0800 |
| commit | 26c93433dafaabfd6f61d15c03fde68c9f214bf5 (patch) | |
| tree | ce41cffb1eca6c8a966cafba01c17fb0059f884f /src/libsync | |
| parent | 220b99b148559e8996a1dbd279e8ca190bf94b2e (diff) | |
| download | rust-26c93433dafaabfd6f61d15c03fde68c9f214bf5.tar.gz rust-26c93433dafaabfd6f61d15c03fde68c9f214bf5.zip | |
Require <T: Send> for AtomicOption
Fixes #19247.
Diffstat (limited to 'src/libsync')
| -rw-r--r-- | src/libsync/atomic.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libsync/atomic.rs b/src/libsync/atomic.rs index b4b2ef5218c..0bc5dd11c25 100644 --- a/src/libsync/atomic.rs +++ b/src/libsync/atomic.rs @@ -96,7 +96,7 @@ use alloc::boxed::Box; use core::mem; -use core::prelude::{Drop, None, Option, Some}; +use core::prelude::{Send, Drop, None, Option, Some}; pub use core::atomic::{AtomicBool, AtomicInt, AtomicUint, AtomicPtr}; pub use core::atomic::{Ordering, Relaxed, Release, Acquire, AcqRel, SeqCst}; @@ -114,7 +114,7 @@ pub struct AtomicOption<T> { p: AtomicUint, } -impl<T> AtomicOption<T> { +impl<T: Send> AtomicOption<T> { /// Create a new `AtomicOption` pub fn new(p: Box<T>) -> AtomicOption<T> { unsafe { AtomicOption { p: AtomicUint::new(mem::transmute(p)) } } @@ -170,7 +170,7 @@ impl<T> AtomicOption<T> { } #[unsafe_destructor] -impl<T> Drop for AtomicOption<T> { +impl<T: Send> Drop for AtomicOption<T> { fn drop(&mut self) { let _ = self.take(SeqCst); } |
