mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
Rollup merge of #42397 - sfackler:syncsender-sync, r=alexcrichton
Implement Sync for SyncSender r? @alexcrichton
This commit is contained in:
commit
292fcc880f
@ -499,8 +499,6 @@ unsafe impl<T: Send> Send for Sender<T> { }
|
||||
impl<T> !Sync for Sender<T> { }
|
||||
|
||||
/// The sending-half of Rust's synchronous [`sync_channel`] type.
|
||||
/// This half can only be owned by one thread, but it can be cloned
|
||||
/// to send to other threads.
|
||||
///
|
||||
/// Messages can be sent through this channel with [`send`] or [`try_send`].
|
||||
///
|
||||
@ -555,9 +553,6 @@ pub struct SyncSender<T> {
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
unsafe impl<T: Send> Send for SyncSender<T> {}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<T> !Sync for SyncSender<T> {}
|
||||
|
||||
/// An error returned from the [`Sender::send`] or [`SyncSender::send`]
|
||||
/// function on **channel**s.
|
||||
///
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::rc::{Rc, Weak};
|
||||
use std::sync::mpsc::{Receiver, Sender, SyncSender};
|
||||
use std::sync::mpsc::{Receiver, Sender};
|
||||
|
||||
fn test<T: Sync>() {}
|
||||
|
||||
@ -29,6 +29,4 @@ fn main() {
|
||||
//~^ ERROR `std::sync::mpsc::Receiver<i32>: std::marker::Sync` is not satisfied
|
||||
test::<Sender<i32>>();
|
||||
//~^ ERROR `std::sync::mpsc::Sender<i32>: std::marker::Sync` is not satisfied
|
||||
test::<SyncSender<i32>>();
|
||||
//~^ ERROR `std::sync::mpsc::SyncSender<i32>: std::marker::Sync` is not satisfied
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user