При чтении из std::io::stdin() вход буферизуется до тех пор, пока не будет встречен EOF. Я бы хотел обработать строки по мере их поступления, а не ждать, пока все буферизуется.
Для функции оболочки bar, которая выполняется echo bar каждую секунду навсегда, я тестирую это с помощью bar | thingy. Он ничего не печатает, пока не будет ^C.
Вот что я сейчас работаю с:
use std::io;
use std::io::timer;
use std::time::Duration;
fn main() {
    let mut reader = io::stdin();
    let interval = Duration::milliseconds(1000);
    loop {
        match reader.read_line() {
            Ok(l) => print!("{}", l),
            Err(_) => timer::sleep(interval),
        }
    }
}
