Does this work on a recent master? I believe with the move to use `proc()`'s, `spawn_with` is now unnecessary (and is removed), i.e.

```rust
task::spawn(proc() {
   let mut reader = PortReader::new(port);
   // etc.
})
```

should work fine.