fn main() { struct foo { let _x: comm::Port<()>; new(x: comm::Port<()>) { self._x = x; } drop {} } let x = ~mut Some(foo(comm::Port())); do task::spawn |move x| { //~ ERROR not a sendable value let mut y = None; *x <-> y; log(error, y); } }