Use of possibly uninitialized variable on an initialized variable?

And you probably want something more like

use std::sync::mpsc::{channel,Receiver,Sender};

struct Worker {
  chan: Receiver<usize>,
}

fn main() {
  let (tx, rx) = channel();
  let worker = Worker { chan: rx };
}