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<T>(Rc<T>);
   |        ^^^^
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`.
