diff options
Diffstat (limited to 'src/libstd/sync/mpsc_queue.rs')
| -rw-r--r-- | src/libstd/sync/mpsc_queue.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libstd/sync/mpsc_queue.rs b/src/libstd/sync/mpsc_queue.rs index e05959e2591..4cdcd05e9b4 100644 --- a/src/libstd/sync/mpsc_queue.rs +++ b/src/libstd/sync/mpsc_queue.rs @@ -38,8 +38,8 @@ // http://www.1024cores.net/home/lock-free-algorithms // /queues/non-intrusive-mpsc-node-based-queue -use cast; use kinds::Send; +use mem; use ops::Drop; use option::{Option, None, Some}; use owned::Box; @@ -74,7 +74,7 @@ pub struct Queue<T> { impl<T> Node<T> { unsafe fn new(v: Option<T>) -> *mut Node<T> { - cast::transmute(box Node { + mem::transmute(box Node { next: AtomicPtr::new(0 as *mut Node<T>), value: v, }) @@ -121,7 +121,7 @@ impl<T: Send> Queue<T> { assert!((*tail).value.is_none()); assert!((*next).value.is_some()); let ret = (*next).value.take_unwrap(); - let _: Box<Node<T>> = cast::transmute(tail); + let _: Box<Node<T>> = mem::transmute(tail); return Data(ret); } @@ -146,7 +146,7 @@ impl<T: Send> Drop for Queue<T> { let mut cur = self.tail; while !cur.is_null() { let next = (*cur).next.load(Relaxed); - let _: Box<Node<T>> = cast::transmute(cur); + let _: Box<Node<T>> = mem::transmute(cur); cur = next; } } |
