1 error[E0277]: `std::cell::Cell<i32>` cannot be shared between threads safely
2 --> $DIR/not-sync.rs:8:12
4 LL | fn test<T: Sync>() {}
5 | ---- required by this bound in `test`
7 LL | test::<Cell<i32>>();
8 | ^^^^^^^^^ `std::cell::Cell<i32>` cannot be shared between threads safely
10 = help: the trait `std::marker::Sync` is not implemented for `std::cell::Cell<i32>`
12 error[E0277]: `std::cell::RefCell<i32>` cannot be shared between threads safely
13 --> $DIR/not-sync.rs:10:12
15 LL | fn test<T: Sync>() {}
16 | ---- required by this bound in `test`
18 LL | test::<RefCell<i32>>();
19 | ^^^^^^^^^^^^ `std::cell::RefCell<i32>` cannot be shared between threads safely
21 = help: the trait `std::marker::Sync` is not implemented for `std::cell::RefCell<i32>`
23 error[E0277]: `std::rc::Rc<i32>` cannot be shared between threads safely
24 --> $DIR/not-sync.rs:13:12
26 LL | fn test<T: Sync>() {}
27 | ---- required by this bound in `test`
29 LL | test::<Rc<i32>>();
30 | ^^^^^^^ `std::rc::Rc<i32>` cannot be shared between threads safely
32 = help: the trait `std::marker::Sync` is not implemented for `std::rc::Rc<i32>`
34 error[E0277]: `std::rc::Weak<i32>` cannot be shared between threads safely
35 --> $DIR/not-sync.rs:15:12
37 LL | fn test<T: Sync>() {}
38 | ---- required by this bound in `test`
40 LL | test::<Weak<i32>>();
41 | ^^^^^^^^^ `std::rc::Weak<i32>` cannot be shared between threads safely
43 = help: the trait `std::marker::Sync` is not implemented for `std::rc::Weak<i32>`
45 error[E0277]: `std::sync::mpsc::Receiver<i32>` cannot be shared between threads safely
46 --> $DIR/not-sync.rs:18:12
48 LL | fn test<T: Sync>() {}
49 | ---- required by this bound in `test`
51 LL | test::<Receiver<i32>>();
52 | ^^^^^^^^^^^^^ `std::sync::mpsc::Receiver<i32>` cannot be shared between threads safely
54 = help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Receiver<i32>`
56 error[E0277]: `std::sync::mpsc::Sender<i32>` cannot be shared between threads safely
57 --> $DIR/not-sync.rs:20:12
59 LL | fn test<T: Sync>() {}
60 | ---- required by this bound in `test`
62 LL | test::<Sender<i32>>();
63 | ^^^^^^^^^^^ `std::sync::mpsc::Sender<i32>` cannot be shared between threads safely
65 = help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Sender<i32>`
67 error: aborting due to 6 previous errors
69 For more information about this error, try `rustc --explain E0277`.