about summary refs log tree commit diff
path: root/src/libstd/rt/message_queue.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/rt/message_queue.rs')
-rw-r--r--src/libstd/rt/message_queue.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libstd/rt/message_queue.rs b/src/libstd/rt/message_queue.rs
index 8518ddaeae1..d58c0120803 100644
--- a/src/libstd/rt/message_queue.rs
+++ b/src/libstd/rt/message_queue.rs
@@ -20,14 +20,13 @@ use unstable::sync::Exclusive;
 use clone::Clone;
 
 pub struct MessageQueue<T> {
-    // XXX: Another mystery bug fixed by boxing this lock
-    priv queue: ~Exclusive<~[T]>
+    priv queue: Exclusive<~[T]>
 }
 
 impl<T: Send> MessageQueue<T> {
     pub fn new() -> MessageQueue<T> {
         MessageQueue {
-            queue: ~Exclusive::new(~[])
+            queue: Exclusive::new(~[])
         }
     }
 
@@ -51,7 +50,7 @@ impl<T: Send> MessageQueue<T> {
     }
 }
 
-impl<T> Clone for MessageQueue<T> {
+impl<T: Send> Clone for MessageQueue<T> {
     fn clone(&self) -> MessageQueue<T> {
         MessageQueue {
             queue: self.queue.clone()