Skip to content

Commit 886819c

Browse files
committed
auto merge of #10140 : brson/rust/comm, r=alexcrichton
Just putting this public trait into the correct module.
2 parents 67d7be0 + e6fa2d0 commit 886819c

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/libstd/comm.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ Message passing
1717
use clone::Clone;
1818
use kinds::Send;
1919
use option::Option;
20-
pub use rt::comm::SendDeferred;
2120
use rtcomm = rt::comm;
2221

2322
/// A trait for things that can send multiple messages.
@@ -33,6 +32,12 @@ pub trait GenericSmartChan<T> {
3332
fn try_send(&self, x: T) -> bool;
3433
}
3534

35+
/// Trait for non-rescheduling send operations, similar to `send_deferred` on ChanOne.
36+
pub trait SendDeferred<T> {
37+
fn send_deferred(&self, val: T);
38+
fn try_send_deferred(&self, val: T) -> bool;
39+
}
40+
3641
/// A trait for things that can receive multiple messages.
3742
pub trait GenericPort<T> {
3843
/// Receives a message, or fails if the connection closes.

src/libstd/rt/comm.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use select::{Select, SelectPort};
2323
use unstable::atomics::{AtomicUint, AtomicOption, Acquire, Relaxed, SeqCst};
2424
use unstable::sync::UnsafeArc;
2525
use util::Void;
26-
use comm::{GenericChan, GenericSmartChan, GenericPort, Peekable};
26+
use comm::{GenericChan, GenericSmartChan, GenericPort, Peekable, SendDeferred};
2727
use cell::Cell;
2828
use clone::Clone;
2929
use tuple::ImmutableTuple;
@@ -421,12 +421,6 @@ impl<T> Drop for PortOne<T> {
421421
}
422422
}
423423

424-
/// Trait for non-rescheduling send operations, similar to `send_deferred` on ChanOne.
425-
pub trait SendDeferred<T> {
426-
fn send_deferred(&self, val: T);
427-
fn try_send_deferred(&self, val: T) -> bool;
428-
}
429-
430424
struct StreamPayload<T> {
431425
val: T,
432426
next: PortOne<StreamPayload<T>>

0 commit comments

Comments
 (0)