diff options
Diffstat (limited to 'tests/ui/stdlib-unit-tests/not-sync.rs')
-rw-r--r-- | tests/ui/stdlib-unit-tests/not-sync.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/stdlib-unit-tests/not-sync.rs b/tests/ui/stdlib-unit-tests/not-sync.rs new file mode 100644 index 000000000..f4648994f --- /dev/null +++ b/tests/ui/stdlib-unit-tests/not-sync.rs @@ -0,0 +1,22 @@ +use std::cell::{Cell, RefCell}; +use std::rc::{Rc, Weak}; +use std::sync::mpsc::{Receiver, Sender}; + +fn test<T: Sync>() {} + +fn main() { + test::<Cell<i32>>(); + //~^ ERROR `Cell<i32>` cannot be shared between threads safely [E0277] + test::<RefCell<i32>>(); + //~^ ERROR `RefCell<i32>` cannot be shared between threads safely [E0277] + + test::<Rc<i32>>(); + //~^ ERROR `Rc<i32>` cannot be shared between threads safely [E0277] + test::<Weak<i32>>(); + //~^ ERROR `std::rc::Weak<i32>` cannot be shared between threads safely [E0277] + + test::<Receiver<i32>>(); + //~^ ERROR `std::sync::mpsc::Receiver<i32>` cannot be shared between threads safely [E0277] + test::<Sender<i32>>(); + //~^ ERROR `Sender<i32>` cannot be shared between threads safely [E0277] +} |