about summary refs log tree commit diff
path: root/src/libstd/comm/select.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2014-01-22 14:03:02 -0500
committerNiko Matsakis <niko@alum.mit.edu>2014-01-31 21:18:48 -0500
commit81d8328517a6a2830438aaec1d7e747156b13be0 (patch)
tree5f3337bdc79406fd7da088d146ad1f64a56ff83b /src/libstd/comm/select.rs
parent83f0f6ef6cb44d9fbba24372f223561a75a50c18 (diff)
downloadrust-81d8328517a6a2830438aaec1d7e747156b13be0.tar.gz
rust-81d8328517a6a2830438aaec1d7e747156b13be0.zip
Introduce marker types for indicating variance and for opting out
of builtin bounds.

Fixes #10834.
Fixes #11385.
cc #5922.
Diffstat (limited to 'src/libstd/comm/select.rs')
-rw-r--r--src/libstd/comm/select.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libstd/comm/select.rs b/src/libstd/comm/select.rs
index a0db70117aa..a369ecba86b 100644
--- a/src/libstd/comm/select.rs
+++ b/src/libstd/comm/select.rs
@@ -47,6 +47,7 @@
 use cast;
 use comm;
 use iter::Iterator;
+use kinds::marker;
 use kinds::Send;
 use ops::Drop;
 use option::{Some, None, Option};
@@ -77,12 +78,12 @@ macro_rules! select {
 
 /// The "port set" of the select interface. This structure is used to manage a
 /// set of ports which are being selected over.
-#[no_freeze]
-#[no_send]
 pub struct Select {
     priv head: *mut Packet,
     priv tail: *mut Packet,
     priv next_id: uint,
+    priv marker1: marker::NoSend,
+    priv marker2: marker::NoFreeze,
 }
 
 /// A handle to a port which is currently a member of a `Select` set of ports.
@@ -108,6 +109,8 @@ impl Select {
             head: 0 as *mut Packet,
             tail: 0 as *mut Packet,
             next_id: 1,
+            marker1: marker::NoSend,
+            marker2: marker::NoFreeze,
         }
     }