error[E0277]: `Rc<()>` cannot be sent between threads safely --> $DIR/no-send-res-ports.rs:25:5 | LL | thread::spawn(move|| { | _____^^^^^^^^^^^^^_- | | | | | `Rc<()>` cannot be sent between threads safely LL | | LL | | let y = x; LL | | println!("{:?}", y); LL | | }); | |_____- within this `[closure@$DIR/no-send-res-ports.rs:25:19: 29:6]` | = help: within `[closure@$DIR/no-send-res-ports.rs:25:19: 29:6]`, the trait `Send` is not implemented for `Rc<()>` note: required because it appears within the type `Port<()>` --> $DIR/no-send-res-ports.rs:5:8 | LL | struct Port(Rc); | ^^^^ note: required because it appears within the type `Foo` --> $DIR/no-send-res-ports.rs:9:12 | LL | struct Foo { | ^^^ = note: required because it appears within the type `[closure@$DIR/no-send-res-ports.rs:25:19: 29:6]` note: required by a bound in `spawn` --> $SRC_DIR/std/src/thread/mod.rs:LL:COL | LL | F: Send + 'static, | ^^^^ required by this bound in `spawn` error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.